肤色检测的几种方法

1.基于HSV颜色空间的阈值肤色识别
1.1基于HSV颜色空间的阈值肤色识别
  HSV是一种将RGB色彩空间中的点在倒圆锥体中的表示方法,其包含色相(H)、饱和度(S)、名度(V)三个基本属性。在HSV颜色空间中,一般通过色相值对肤色区域进行筛选:2
2.基于RGB颜色空间的阈值肤色识别
1.2基于RGB颜色空间的阈值肤色识别
  在RGB彩色模型中,每种颜色都以红色(R)、绿色(G)和蓝色(B)光谱成分表示,用RGB颜色空间对物体的颜色的描述,很符合人们的直观感受,但是肤色受亮度的影响较大,需要用复杂的约束才能很好的将皮肤区域筛选出来。查阅资料后可知,前人做了大量研究,肤色在RGB模型下的范围基本满足以下约束:
(R,G,B)>(95,40,20)(R,G,B)>(95,40,20)
max(R,G,B)-minmax(R,G,B)>15max(R,G,B)−minmax(R,G,B)>15
|R-G|>15∣R−G∣>15
R>GR>G
R>BR>B

3.基于YCbCr颜色空间的阈值肤色识别
1.3基于YCbCr颜色空间的阈值肤色识别
  肤色检测领域经常用到YCbCr颜色空间,其中Y代表亮度,Cr代表光源中的红色分量,Cb代表光源中的蓝色分量。在YCbCr颜色空间中,一般通过Cr、Cb值进行皮肤的检测,有关资料显示,正常黄种人肤色基本满足以下约束:

4.基于YCbCr颜色空间和椭圆皮肤模型的皮肤识别
1.4基于YCbCr颜色空间和椭圆皮肤模型的皮肤识别
  经过前人学者大量的统计信息可以知道,如果将皮肤信息映射到YCrCb空间,则在CrCb二维空间中这些皮肤像素点近似成一个椭圆分布。因此如果我们得到了一个CrCb的椭圆,下次来一个坐标(Cr,Cb)我们只需判断它是否在椭圆内就可以知道其是否为皮肤像素。

5.基于YCbCr颜色空间的Otsu阈值肤色识别
.5基于YCbCr颜色空间的Otsu阈值肤色识别
  该方法是对方法四的改进,首先将RGB图像转换到YCrCb颜色空间中,提取Cr分量的图像,然后对Cr做二值化阈值分割处理(Otsu法),避免的人为设定阈值的步骤,使得算法具有更强的鲁棒性,能适应更多变化的环境。

6.OpenCV自带的函数

你可能感兴趣的:(opencv,计算机视觉,python)