matlab实现证件照换底+美肤的功能

matlab实现证件照换底+美肤的功能f=imread('boy2.png');subplot(1,3,1);imshow(f);title('原图');
a=f(:,:,3); %确定图像的大小
[m,n]=size(a);
 for x=1:m
   for y=1:n
     if  f(x,y,3) >170 && f(x,y,1)<110 
         f(x,y,1)=255;
         f(x,y,2)=255;
         f(x,y,3)=255;
    end
  end
 end
subplot(1,3,2),imshow(f);title('换底');
[h w] = size(f);

p=f;
n=2;
a=mod(h,n);
b=mod(w,n);
 for i=1:n:h-a
     for j=1:n:w-b
         p(i:i+n-1,j:j+n-1)=mean(mean(f(i:i+n-1,j:j+n-1)));%将图像马赛克
     end
 end  
h=fspecial('log');
i=imfilter(p, h);%拉普拉斯高斯算子边缘提取后的图片
p1=i+f;%原图像加上边缘提取后的图片
h=fspecial('average',3);
p=imfilter(p1, h);%再将图片经过均值滤波加强
subplot(1,3,3);%
imshow(p);title('换底且美化后的图像')