I wander if some one can help me in skin detection program
2 views (last 30 days)
Show older comments
Hi everyone I hope that some can help me in my problem that I am in. I want the help in Skin Detection and find the way to write the program for that using the threshold in the (RGB) space Welling to here from you all soon
0 Comments
Accepted Answer
Image Analyst
on 28 Aug 2013
Because of the boomerang/banana shaped gamut of skin, there's no way to segment out skin with simple thresholding in any color space (rgb, lab, hsv, YCbCr, etc.). You'll have to look up and employ more sophisticated methods. You might be able to get it for one particular image but you won't be able to find all skin colors that any person in an image might possibly have for any arbitrary image that you might be presented with.
2 Comments
Image Analyst
on 28 Aug 2013
Your best bet is to do it in hsv color space. Everyone has skin color in the orangish hue range, at least somewhere in the red to yellow range. So you can get the hue in general. However the chroma depends on the value and you can't get that with simple thresholding. Just going by hue will also get you gray objects since they may be in the orange hue zone, they just aren't very saturated. So you need to carve out the "elbow" of the boomerang so that you don't pick up gray objects as skin. Neutral (black/white) is okay for very very light skinned people or for very very dark skinned people, but not for people with medium levels of brightness (Y, V, or L values). You might be able to map out a boomerang shape in the Value vs. Chroma plane and then determine if a pixel with it's particular Value and Chroma are within that boomerang shape.
Another problem is that everything that is skin colored will get picked up regardless if it's skin or something else, like a piece of fruit or something.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!