binary mask of RGB image
5 views (last 30 days)
Show older comments
Lamya Mohammad
on 23 Oct 2019
Commented: Image Analyst
on 20 Jul 2022
Hello everyone,
I'm new to matlab
I'm wondering if is there is a function that can help me in performing the followings:
I have an RGB image, I'm gonna spicify a range of values for every RGB component.
so I have three ranges of values.
then, the values in the image that in these ranges, I want them to be white
values outside the range will be black.
How can I write a code perform this?
Thank you
0 Comments
Accepted Answer
Image Analyst
on 24 Oct 2019
Try this:
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
redMask = redChannel >= redMin & redChannel <= redMax;
greenMask = greenChannel >= greenMin & greenChannel <= greenMax;
blueMask = blueChannel >= blueMin & blueChannel <= blueMax;
finalMask = redMask | greenMask | blueMask;
8 Comments
Imran Riaz
on 20 Jul 2022
Can you recommend any other way to remove the background automatically, bcz I have more that 4500 images.
Image Analyst
on 20 Jul 2022
I'd convert to HSV and look for Saturation values below and above 0.25. Below will be white/gray, and above will be colored/skin. Use the Color Thresholder on the Apps tab.
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox 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!