数字图像处理作业1.1 基于颜色空间的人脸皮肤图像分割

声明:图片来源于网络 仅用于学术科研学习用途 如有版权诉求 请留言 会立即删除博文

首先读入图片,读入方法随意,可以用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法

 上图是对Cr分量进行告诉滤波后的图像

 上图是对高斯滤波后的图像使用OTSU进行二值化分割,下面来看使用高斯自适应分割法,对没有经过高斯滤波的Cr原分量进行处理的结果:

 最后看看通过统计学规律对CrCb分量的皮肤颜色范围进行二分得到的结果:

原文地址:https://www.cnblogs.com/NWNU-LHY/p/11458605.html