www.gusucode.com > 自己建的皮肤高斯模型,通过训练的到的阈值 > code18/GUI/pifu.m

    i=imread('image4.jpg');
f=rgb2ycbcr(i);
[m n h]=size(f);
cb=double(f(:,:,2));
cr=double(f(:,:,3));
r=cr(:);
b=cb(:);
add=[b,r];
average=mean(add);
c=cov(add);
w=imread('4.jpg');
q=rgb2ycbcr(w);
[m1,n1,h1]=size(q);
zb=double(q(:,:,2));
zr=double(q(:,:,3));
for i=1:m1
    for j=1:n1
        p(i,j)= exp((-0.5)*([zb(i,j),zr(i,j)]-average)*inv(c)*([zb(i,j),zr(i,j)]-average)');
    end
end
M=max(max(p)');
for i=1:m1
    for j=1:n1
        u(i,j)=p(i,j)/M;
    end
end
for i=1:m1
    for j=1:n1
      if(u(i,j)>0.0045)
          u(i,j)=1;
      else
          u(i,j)=0;
      end
  end
end
imshow(u)