肤色检测
肤色检测技术利用了计算对人体肤色像素的分析过程,随着人脸检测技术,表情识别及手势识别等技术的快速发展,肤色应用领域日趋增多。肤色检测技术常用的方法有基于颜色空间,光谱特征及肤色反射模型等方法,这些方法的主要步骤都是先进行颜色空间的变换,然后在建立肤色模型。肤色检测中颜色空间有RGB、YCrCb、HSV和Lab等,通常在处理的时候是将RGB 颜色空间变换成相应的颜色空间。
肤色YCbCr颜色空间是一种常用的肤色检测的色彩模型,其中Y代表亮度,Cr代表光源中的红色分量,Cb代表光源中的蓝色分量。人的肤色在外观上的色差是由色度引起的,不同人的肤色分布集中在较小的区域内。肤色YCbCr颜色空间CbCr平面分布在近似的椭圆区域内,通过判断当前像素点的CbCr值是否落在肤色分布的椭圆区域内,就可以很容易的确定当前像素是否属于肤色。
示例代码如下:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
#include <vector>
int main(