MATLAB Answers

# Why did the image duplicated 3 times?

7 views (last 30 days)
Shu Yi Ho on 13 Aug 2019
Edited: Shu Yi Ho on 14 Aug 2019
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

#### 0 Comments

Sign in to comment.

### Accepted Answer

Geoff Hayes on 13 Aug 2019
Edited: Geoff Hayes 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.

#### 0 Comments

Sign in to comment.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!