MATLAB Answers

0

How to extract RGB information from an segmented image excluded white background.

Asked by Leow Bin on 22 Jul 2017
Latest activity Commented on by Image Analyst
on 22 Jul 2017
Hi, I am working on project about image processing. I would like to know about how to extract the RGB information from an segmented image excluded the white background. I only need the RGB value for my region of interest, and I don't want the white pixels RGB value to exist in my data file. Thank you.

  0 Comments

Sign in to comment.

2 Answers

Answer by Image Analyst
on 22 Jul 2017
 Accepted Answer

Get a mask of where white is, then extract pixels from where it's not white
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
whiteMask = redChannel == 255 & greenChannel == 255 & blueChannel == 255;
redValues = redChannel(~whiteMask);
greenValues = greenChannel(~whiteMask);
blueValues = blueChannel(~whiteMask);

  2 Comments

Thanks for your kindly help~that's the exactly what I needed.
Note, if white is just bright areas, then you don't have to use just pure 255, it can be any values above some intensity that you consider "white", so for example you can do:
whiteMask = redChannel >= 200 & greenChannel >= 225 & blueChannel >= 230;

Sign in to comment.


Answer by KALYAN ACHARJYA on 22 Jul 2017
Edited by KALYAN ACHARJYA on 22 Jul 2017

You can directly calculate the R G B from the image, Apply If R=255, G=255, B=255, then ignore the region else ...do your program. Similar Image is needed for more clarification.
Please note: I am beginner in Matlab

  1 Comment

Hi, I am understand about the concept just I don't know how to implement in matlab syntax. Thank you anyway.

Sign in to comment.