• 大小: 85KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: Matlab
  • 标签: SAD匹配  SSD匹配  

资源简介

在MATLAB中实现SAD模板匹配算法,有示例,有结果。另外,程序中也对SSD算法进行了实现说明,代码注释非常详细,对做图像匹配的学生有参考价值。

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %绝对误差和算法(SAD)  
% clc;
% clear;

% %原始图
% src=imread(‘src1.jpg‘);  
% [a b d1]=size(src);  
% if d1==3  
%     src=rgb2gray(src);  
% end  

% %模板
% mask=imread(‘template1.jpg‘);  
% [m n d2]=size(mask);  
% if d2==3  
%     mask=rgb2gray(mask);  
% end  
% N=n;%模板尺寸,默认模板为正方形  
% M=a;%代搜索图像尺寸,默认搜索图像为正方形  
% dst=zeros(M-NM-N);  
% for i=1:M-N         %子图选取,每次滑动一个像素  
%     for j=1:M-N  
%         temp=src(i:i+N-1j:j+N-1);%当前子图  
%         dst(ij)=dst(ij)+sum(sum(abs(temp-mask)));  
%     end  
% end  

% abs_min=min(min(dst));
% [xy]=find(dst==abs_min);%返回最小值在矩阵中的行列号  
% figure;  
% imshow(mask);title(‘模板‘);  
% figure;
% imshow(src);  
% hold on;  
% rectangle(‘position‘[yxN-1N-1]‘edgecolor‘‘r‘);  
% hold off;title(‘搜索结果‘);  

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%基于灰度的模板匹配算法  
%绝对误差和算法(SAD) 
%误差平方和算法(SSD)
%思想一致,只是相似度测度公式不一样而已!!!
clc;
clear;

%原始图
src=imread(‘E:\任务\图像匹配\模板匹配\SAD\images\src1.jpg‘);  
[m n d1]=size(src);%m行n列 
if d1==3  
    src=rgb2gray(src);  
end  

%模板
mask=imread(‘E:\任务\图像匹配\模板匹配\SAD\images\template1.jpg‘);  
[M N d2]=size(mask);%M行N列  
if d2==3  
    mask=rgb2gray(mask);  
end  
 
%存放各个子图与模板的绝对误差和
dst=zeros(m-M+1n-N+1);  
for i=1:m-M+1         %子图选取,每次滑动一个像素  
    for j=1:n-N+1  
        temp=src(i:i+M-1j:j+N-1);%当前子图  
        
        %绝对误差和算法(SAD)
        dst(ij)=dst(ij)+sum(sum(abs(temp-mask))); 
        
        %误差平方和算法(SSD)
%       dst(ij)=dst(ij)+sum(sum((temp-mask).^2));%.^:矩阵中每个元素的平方  
    end  
end  

% m=min(dst);%找出矩阵dst中每列中的最小元素,构成行向量m
% mm=min(m);%进一步找出m中的最小元素mm,当然也就是矩阵dst中的最小元素
abs_min=min(min(dst));
[rc]=find(dst==abs_min);%返回最小值在dst(同样也在src)中的行列号 r:行 c:列  
x=c;%x坐标对应的是列
y=r;%y坐标对应的是行
figure;  
imshow(mask);title(‘模板‘);  
figure;
imshow(src);  
hold on;  
rectangle(‘position‘[xyN-1M-1]‘edgecolor‘‘r‘); %[x坐标y坐标宽高] 
hold off;title(‘匹配结果‘);  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2324  2018-04-10 15:11  SAD\BM_SAD.m

     文件      50544  2017-12-25 10:54  SAD\src.jpg

     文件       6889  2017-12-25 11:37  SAD\src1.jpg

     文件      33528  2017-12-25 10:54  SAD\template.jpg

     文件      18182  2017-12-25 11:37  SAD\template1.jpg

     目录          0  2018-04-10 15:10  SAD

----------- ---------  ---------- -----  ----

               111467                    6


评论

共有 条评论

相关资源