2 lucifer201201 lucifer201201 于 2015.07.11 14:52 提问

做人脸识别算法,在进行肤色分割时遇到一些问题,求大神帮助!

在做人脸识别算法的肤色分割时遇到一些问题,求大神帮助!
对图像进行光线补偿后,把图像从RGB空间转换到YCbCr空间,然后根据已经统计好的肤色模型计算其肤色相似度,最后转换为灰度图,可是转换后结果如图所示:
转换前
转换后
代码如下,求大神帮看看哪里出了问题!大谢!

%fR1/fG1/fB1均为光线补偿后的图像数据:
%彩色空间转换
fCb1=128-0.147*fR1-0.289*fG1+0.436*fB1;
fCr1=128+0.615*fR1-0.515*fG1-0.100*fB1;
%肤色似度灰度图
C=[175.1301 10.1450;10.145 89.4567];m=[110.4367 138.6389];
for i=1:x
for j=1:y
x=[fCb1(i,j),fCr1(i,j)];
fhui(i,j)=exp(-0.5*(x-m)*inv(C)*(x-m)');
end
end
fhuimax=max(max(fhui));
fhui=(fhui/fhuimax)*255;
figure,imshow(fhui,[min(min(fhui)),max(max(fhui))]); %灰度化后的图像

1个回答

devmiao
devmiao   Ds   Rxr 2015.07.11 15:02

人脸识别不是根据灰度图去判断,那不可能准。要识别五官,根据五官的比例判断。opencv中有封装好的算法,自己 google 下。

lucifer201201
lucifer201201 您说的应该是另一种算法,我这是先根据肤色和人脸模板来确定人脸所在的大概区域,然后再进行特征提取和识别。不过在肤色判断的时候出现了问题。不过还是谢谢您的回答!
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片