声明:图片来源于网络 仅用于学术科研学习用途 若有版权诉求 请留言 会当即删除博文网络
首先读入图片,读入方法随意,能够用PIL下的Image,能够直接open读到numpy里面,也能够用openCV,为了下面分割的颜色空间转换方便我用的是openCV的cv2工具
做业要求将RGB颜色空间下的图片转换为YCrCb颜色空间下进行分割,因此直接使用了openCV的工具,固然本身写个矩阵相乘也能够,我在上面读文件以后已经转化完毕:学习
YCrCb中的Y表示明亮度,也就是灰阶值,而Cr和Cb分别表示色彩及饱和度,用于指定影像的颜色。其中Cr反映RGB输入信号红色部分与亮度的差别,Cb反映的是RGB输入信号蓝色部分与亮度的差别
下面描述肤色分割步骤:
1.把RGB图像转换到YCrCb空间 并提取Cr份量图像
2.对Cr份量进行高斯滤波
3.对Cr作自二值化阈值分割处理OTSU法blog
上图是对Cr份量进行告诉滤波后的图像图片
上图是对高斯滤波后的图像使用OTSU进行二值化分割,下面来看使用高斯自适应分割法,对没有通过高斯滤波的Cr原份量进行处理的结果:自适应
最后看看经过统计学规律对CrCb份量的皮肤颜色范围进行二分获得的结果:numpy