Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am doing a project on face detection in C#. I want to find the skin area by using skin color segmentation. For that purpose, I have to extract the skin area.

I know I can use HSI or YCbCr, but what is the exact difference between these?

share|cite|improve this question
What you want is a color space in which distance (in this space) reflects how likely it is that these colors are represented by the same underlying color with different lighting conditions. YCbCr is a color space which reflects human perceptions of colors, so it's excellent for image compression, but not necessarily for your purposes. But it's not clear to me whether you want HSI, HSL, or HSB (all mentioned in your wikipedia link to HSI). – Peter Shor Oct 31 '12 at 16:04

I'm not an expert, but judging from the Wikipedia articles, YCbCr is used for image compression (JPEG and television [YPbPr]), while HSI is used in computer vision. Since you're doing computer vision, if we believe Wikipedia then you should use HSI. Of course, you could always experiment with both representations and all six dimensions. See what works best. If you're fitting a linear model, then it doesn't really matter, and you can even use RGB.

share|cite|improve this answer

Ycbcr just has one component (y) for luminance and two for chrominance and it is less light variation sensitive than HSI, and for face detection Ycbcr comes to better result

share|cite|improve this answer
Can you give any references? – Raphael Oct 31 '12 at 9:54

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.