Haar-like算子人脸检测读书笔记

肤色YCbCr颜色空间是一种常用的肤色检测的色彩模型,其中Y代表亮度,Cr代表光源中的红色分量,Cb代表光源中的蓝色分量。人的肤色在外观上的差异是由色度引起的,不同人的肤色分布集中在较小的区域内。肤色的YCbCr颜色空间CbCr平面分布在近似的椭圆区域内,通过判断当前像素点的CbCr是否落在肤色分布的椭圆区域内,就可以很容易地确认当前像素点是否属于肤色。将图像转换到YCbCr空间并且在CbCr平面进行投影,可以采集到肤色的样本点。

clc;
clear all;
close all;
x=imread('2.jpg');
y=rgb2ycbcr(x); %将彩色图片从RGB空间转换到YCbCr色彩空间
[a b c]=size(y); 
cb=double(y(:,:,2)); 
cr=double(y(:,:,3)); 
%下面开始计算每个像素点的肤色概率
for i=1:a;
    for j=1:b
        w=[cb(i,j) cr(i,j)]; %色度矩阵
        m=[110.4516 150.5699]; %肤色均值,可以理解为离散高斯分布的期望值,这个均值需要提前确定,这个是肤色概率模型的明显不足之处;大家换图片测试,会发现可能需要修改此参数
        n=[97.0916 23.3700;23.3700 137.9966]; %协方差矩阵,对应此处离散高斯分布
        p(i,j)=exp((-0.5)*(w-m)*inv(n)*(w-m)'); %计算肤色概率,即相似度
        end
end
z=p./max(max(p));%归一化结果
%下面开始阈值化
%figure
th=0.5;
for i=1:a
    for j=1:b
        if(z(i,j)>th)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值