彩色图像中的人脸(肤色)检测
选了图像工程的课,老师布置了一个小Project,要求用OpenCV或者Matlab实现人脸肤色检测,具体算法参考文献“Face Detection In Corlor Images”。我觉得Python调用OpenCv可能会来得比较快些(没有Matlab基础的我哭晕),唉毕竟为了快速完成任务,虽然得到了结果,但也只停留在知其然不知其所以然的阶段。
算法原理
此算法首先要估算和纠正基于光照补偿技术的偏色效果,纠正过的RGB 颜色成分非线性地转换到YCbCr 彩色空间。检测到的肤色像素用来作为空间转换的椭圆皮肤模型。
算法步骤
肤色检测及光照补偿;
人脸特征定位,包括眼睛定位,嘴部定位,人脸边界定位。
色素和皮肤模型的非线性转换
将RGB颜色空间转换到YCbCr颜色空间,然后直接使用以下公式即可。
其中( 5 )式和( 6 )式中的Ci 表示任一Cb 或Cr , Wcb=46.97, WLcb=23, WHcb=14, Wcr=38.76, WLcr=20,WHcr=