一、实验方法
实验共选取了12张图像,利用画笔工具在每幅图像上选取5个点,并分别记录RGB值。取点方式如下图所示:
总共70个点,R,G,B的值分别如下表所示:
RGB色彩模型和YCbCr色彩模型的互化变换公式:
将上述70个点分别带入公式,分别求出Y,Cb,Cr的最大值和最小值如下表所示:
测试的5张实验效果图分别如下:
在算法对场景照明的敏感度方面,同一图片在不同场景照明下的对比图分别如下所示:
当在场景照明发生变化,变暗的情况下肤色与背景差异变小,难以监测到所有的皮肤,所以所设计的算法对场景照明具有较低的适应性。
二、程序代码
files=dir('C:UserskkzhangDesktopfuse*.jpg'); for i=1:length(files) s=files(i).name; RGB=imread(s); YCbCr=rgb2ycbcr(RGB); Y=YCbCr(:,:,1); Cb=YCbCr(:,:,2); Cr=YCbCr(:,:,3); imshow(RGB);title('RGB'); figure,imshow(YCbCr);title('YCbCr'); I=RGB; rows=size(YCbCr,1); columns=size(YCbCr,2); for i=1:rows for j=1:columns if 87<Y(i,j)&&Y(i,j)<230&&93<Cb(i,j)&&Cb(i,j)<123&&134<Cr(i,j)&&Cr(i,j)<173 %肤色范围 I(i,j,:)=255; else I(i,j,:)=0; end end end figure,imshow(I); end
实验图像:https://pan.baidu.com/s/1l4rbTBjOYK-cGKApD2e-_A
怀绝望之心,行希望之事。
转载需说明出处,笔者总结之前的知识,与大家分享,有问题的可以留给我哦~