应用统计决策的肤色提取

1、图像分割

2、获取样本

3、样本学习

4、模式分类

(1)最小误判概率准则

(2)最小风险准则

org = imread('1.jpg');
HSI=rgb2hsi(org); 
%可以通过下面的程序看一幅图的HSV三个通道 
H=HSI(:,:,1);
S=HSI(:,:,2);
I=HSI(:,:,3);
figure(1);
subplot(2,2,1);imshow(org);title('(1)原始图像','color','b');
% % figure(1);
% subplot(2,3,1),imshow(rgb),title(' 原图');
% subplot(2,3,2),imshow(H),title('色度图H ');
% subplot(2,3,3),imshow(S),title('饱和度图S'); 
% subplot(2,3,4),imshow(I),title(' 强度图I');


subplot(2,2,2);imhist(H);title('(2)H分量直方图','color','b');
subplot(2,2,3);imhist(S);title('(3)S分量直方图','color','b');
subplot(2,2,4);imhist(I);title('(4)I分量直方图','color','b');
thresh = graythresh(H);  
hh = im2bw(H,thresh);      
figure(3);
imshow(hh);title(' H分量');
M=~hh;
figure(2);
imshow(M);title(' H分量的二值化图');
[m n]=size(H);
a1 = numel(M,M>0.5);
a2 = numel(M,M<0.5);
PW1 = a1/(m*n);
PW2 = a2/(m*n);
threa=PW2/PW1;
threa1=PW2/(10*PW1)
PW1_x = H.*M;
PW2_x = H.*hh;
figure(4);
subplot(1,2,1);imhist(PW1_x);title('(1)皮肤H分量直方图','color','b');
subplot(1,2,2);imhist(PW2_x);title('(2)非皮肤H分量直方图','color','b');
pp=reshape(PW1_x,1,256*256)
PP=pp;
PW1_x(PW1_x==0)=inf;
sApProMax=max(pp);
sApProMin=min(min(PW1_x));
x=linspace(sApProMin,sApProMax,8);  
yy=hist(pp,x); 
yy1=yy/length(pp); 
figure(5);
title(' 皮肤的类条件概率密度');
a=[1:8];
bar(a,yy1);
%fei pifu
pp2=reshape(PW2_x,1,256*256)
PW2_x(PW2_x==0)=inf;
sApProMax2=max(pp2);
sApProMin2=min(min(PW2_x));
x2=linspace(sApProMin2,sApProMax2,8);  
yy2=hist(pp2,x2);  
yy12=yy2/length(pp2); 
figure(6);
title(' 非皮肤的类条件概率密度');
bar(a,yy12);
x3=linspace(sApProMin,sApProMax,9);
for i=1:8
    l12 = yy1(i)/yy12(i);
    if l12>threa
        for j=1:256*256;
            if PP(j)<x3(i+1)&&PP(j)>x3(i);
                PP(j)=1;
            end
        end
    else 
        for z=1:256*256;
            if PP(z)<x3(i+1)&&PP(z)>x3(i);
                PP(j)=0;
            end
        end
    end
    
   
end
New=reshape(PP,256,256);
figure(7);
imshow(New);
d=double(org);
r=d(:,:,1).*New;
g=d(:,:,2).*New;
b=d(:,:,3).*New;
rgb(:,:,1)=r;
rgb(:,:,2)=g;
rgb(:,:,3)=b;
rgb8=uint8(rgb);
figure(8);
imshow(rgb8);
for i=1:8
    l12 = yy1(i)/yy12(i);
    if l12>threa1
        for j=1:256*256;
            if PP(j)<x3(i+1)&&PP(j)>x3(i);
                PP(j)=1;
            end
        end
    else 
        for z=1:256*256;
            if PP(z)<x3(i+1)&&PP(z)>x3(i);
                PP(j)=0;
            end
        end
    end
    
   
end
New1=reshape(PP,256,256);
figure(7);
imshow(New1);
d=double(org);
r=d(:,:,1).*New1;
g=d(:,:,2).*New1;
b=d(:,:,3).*New1;
rgb(:,:,1)=r;
rgb(:,:,2)=g;
rgb(:,:,3)=b;
rgb8=uint8(rgb);
figure(9);
imshow(rgb8);

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值