binary mask of RGB image

3 visualizzazioni (ultimi 30 giorni)
Lamya Mohammad
Lamya Mohammad il 23 Ott 2019
Commentato: Image Analyst il 20 Lug 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

Risposta accettata

Image Analyst
Image Analyst il 24 Ott 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 Commenti
Imran Riaz
Imran Riaz il 20 Lug 2022
Can you recommend any other way to remove the background automatically, bcz I have more that 4500 images.
Image Analyst
Image Analyst il 20 Lug 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.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by