Why did the image duplicated 3 times?

A
Annabella · Oct 28, 2020 · 1.9K views
Question
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
Expert Answer
Profile picture of Prashant Kumar
Prashant Kumar PhD Expert
Answered Aug 20, 2026

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.

100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!