Why did the image duplicated 3 times?

Asked by Shu Yi Ho

Shu Yi Ho (view profile)

on 13 Aug 2019
Latest activity Edited by Shu Yi Ho

Shu Yi Ho (view profile)

on 14 Aug 2019
Accepted Answer by Geoff Hayes

Geoff Hayes (view profile)

How do I make it to display only once instead of 3 times for "after adjusting brightness" & "number of circles detected"?
[x,y] = size(ori_roi{i});
%%Replace each pixel of the image
for a=1:1:x
for b=1:1:y
C(a,b) = ori_roi{i}(a,b) + imageBrightness;
end
end

Tags

Answer by Geoff Hayes

Geoff Hayes (view profile)

on 13 Aug 2019
Edited by Geoff Hayes

Geoff Hayes (view profile)

on 13 Aug 2019

Shu - it looks like your original image is in colour so consider this line of code
[x,y] = size(ori_roi{i});
i suspect that y is three times what it should be...and so your image is replicated three times. For example,
Z = randi(255,100,50,3);
[x y] = size(Z);
Where x is 100 (correct) but y is 150 (incorrect!). And so the code
for a=1:1:x
for b=1:1:y
C(a,b) = Z(a,b) + 0;
end
end
creates C which is a 100x150 array.
To fix you can use
[x y, ~] = size(ori_roi{i});
so that the third dimension is ignored and your x and y should now be the correct height and width of your original image.