数字图像处理实验十三绝对误差和算法模式匹配

利用绝对误差和算法在图像中找到模板所在位置

clear;
clc;
%----------------------------图像的灰度化处理-------------------------------
JPG=imread('1.jpg');    %原图
JPG=rgb2gray(JPG);
[M,N]=size(JPG);    %行数(垂直分辨率)、列数(水平分辨率)

jpg=imread('2.jpg');    %模板图
jpg=rgb2gray(jpg);
[m,n]=size(jpg);    %行数(垂直分辨率)、列数(水平分辨率)
%-------------------------绝对误差和算法模式匹配----------------------------
a=zeros(M-m+1,N-n+1);
for i=1:M-m+1         %for循环遍历
    for j=1:N-n+1      
        s=JPG(i:i+m-1,j:j+n-1);  %当前子图
        a(i,j)=sum(sum(abs(double(s)-double(jpg))));
    end
end
xy=min(min(a));
[X,Y]=find(a==xy);   %最小值的位置

figure;imshow(jpg);title('模板');
figure;imshow(JPG);title('搜索图');
hold on;
rectangle('position',[Y,X,n,m],'edgecolor','r');    %从点x,y开始绘制长宽为N-1的正方形
hold off;

效果图展示

数字图像处理实验十三绝对误差和算法模式匹配_第1张图片 

你可能感兴趣的:(Matlab数字图像处理实验,算法,Matlab,数字图像处理实验)