功能描述:
clc;
clear;
close all;
warning off;
mb = imread('mb.jpg');
mbs = rgb2gray(mb);
Test = imread('test.jpg');
Tests = rgb2gray(Test);
[M,N] = size(Tests);
[m,n] = size(mbs);
c = zeros(M-m,N-n);
figure(1);
subplot(121);
imshow(Tests);
for i=1:M-m
for j=1:N-n
b = abs(mbs-Tests(i:i+m-1,j:j+n-1));
c(i,j) = sum(sum(b));
end
end
a = min(min(c));
subplot(122);
imshow(Test);
A = [];
B = [];
for i=1:M-m
for j=1:N-n
if c(i,j)==a
Tests(i:i+m-1,j:j+n-1) = 255;
A = [i,j];
B = cat(1,B,A);
end
end
end
[l,k]= size(B);
r = [];
r(1) = 0;
t = 1;
for x=1:l-1
if abs(B(x+1,1)-B(x,1)) > m || abs(B(x+1,2)-B(x,2)) > n
t = t + 1;
r(t) = x;
end
end
t = t + 1;
r(t) = l;
hold on
for x=1:1
D=rectangle('Position',[min(B(r(x)+1:r(x+1),2)) min(B(r(x)+1:r(x+1),1)) n m],'edgecolor',[1 0 0]);
end;
|