Writing processed image into new image not working as expected

i am trying this:
I(1, 1, :) = [26, 45, 34];
the pixel is white even though the right colors are printed if i check I(1, 1)...

Answers (2)

I am assuming here that the matrix “I” is of datatype double and “imshow()” function is used to display the image. Since the expected range of values for a double image is in between 0 & 1, the values assigned to the pixel at (1,1) are rounded off to the maximum value (1) which using “imshow()”. Hence the particular pixel appears to be white.
You can try
imshow(I, []);
though if your image is double, and all the other pixels are in the range 0-1, all the other pixels will display as very dark. You might try dividing by 255:
I(1, 1, :) = [26, 45, 34] / 255;

Asked:

on 15 Jan 2020

Answered:

on 20 Jan 2020

Community Treasure Hunt

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

Start Hunting!