回复 1# monicg 的帖子
clear
img=imread('backgrand.jpg');
%读入集体照图像的数据阵
img1=imread('model.jpg');
%读入所需匹配的图像数据阵
siz=size(img);
siz1=size(img1);
cha1=5000;
for i=1:siz(1)-siz1(1)+1
for j=1:siz(2)-siz1(2)+1
cha=sum(sum(abs(img(i:i+siz1(1)-1,j:j+siz1(2)-1,1)-img1(:,:,1))));
if cha<cha1
cha1=cha;
ii=i;
jj=j;
end
end
end
img(ii:ii+siz1(1)-1,jj:jj+siz1(2)-1,1)=img(ii:ii+siz1(1)-1,jj:jj+siz1(2)-1,1)-60;
img(ii:ii+siz1(1)-1,jj:jj+siz1(2)-1,2)=img(ii:ii+siz1(1)-1,jj:jj+siz1(2)-1,2)-60;
img(ii:ii+siz1(1)-1,jj:jj+siz1(2)-1,3)=img(ii:ii+siz1(1)-1,jj:jj+siz1(2)-1,3)-60;
ceni=round(ii+siz1(1)/2-1/2);
cenj=round(jj+siz1(2)/2-1/2);
img(ceni-1:ceni+1,cenj-1:cenj+1,1)=256;
img(ceni-1:ceni+1,cenj-1:cenj+1,2)=0;
img(ceni-1:ceni+1,cenj-1:cenj+1,3)=0;
imshow(img);