Changing pixel color to white
Show older comments
Hi, I am a newbee to Matlab. I want to change the brown color of every red blood cells into white. Could someone please help me how to do it? I want to read every pixel in image, and, if it found this color in the image, then the program should change it to white color. Thanks in advance.
Accepted Answer
More Answers (1)
Meghana Dinesh
on 25 Nov 2014
I assume your image is an RGB image. Use this to get only the red plane:
Image_r = Image(:,:,1)
You have to know the intensity value of the color which you wish to replace.
You can use the 'find' command in MATLAB.
ind_plain = find(Image_r == old_value);
Image_new (ind_plain) = new_value;
3 Comments
Umer Siddique
on 25 Nov 2014
Meghana Dinesh
on 25 Nov 2014
Out of the MXNX3 (24 bit) image, this extracts the first plane, i.e., Red plane:
Image_r = Image(:,:,1)
Suppose the value of "brown pixel" that you want to replace is 120.
ind_plain = find(Image_r == 120);
"ind_plain" contains the indices of all pixels with those values
Image_r (ind_plain) = 255
Now, the corresponding pixels in red plane is changed to 255.
Similarly, extract the blue and green planes:
Image_Blue = Image(:,:,2);
Image_Green = Image(:,:,3);
Replace the same pixel indices with 255 (for white, R, G and B is 255)
Image_Blue (ind_plain) = 255;
Image_Green(ind_plain) = 255;
New_image = (Image_r, Image_Blue,Image_Green)
To get a better understanding, you can execute these and observe the results in each stage.
Umer Siddique
on 25 Nov 2014
Categories
Find more on Biomedical Imaging in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!