资源简介
包含两个SAD模板匹配的matlab算法实现资源,提供测试资源,有较为详细的代码讲解,适合模板匹配使用
代码片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %绝对误差和算法(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‘);
src=imread(‘E:\基于MATLAB的SAD模板匹配算法\SAD\template.jpg‘);
[m n d1]=size(src);%m行n列
if d1==3
src=rgb2gray(src);
end
%模板
mask=imread(‘E:\基于MATLAB的SAD模板匹配算法\SAD\template.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(‘匹配结果‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-22 11:13 基于MATLAB的SAD模板匹配算法\
目录 0 2019-01-22 11:13 基于MATLAB的SAD模板匹配算法\SAD\
文件 2386 2019-01-22 11:19 基于MATLAB的SAD模板匹配算法\SAD\BM_SAD.m
文件 50544 2017-12-25 10:54 基于MATLAB的SAD模板匹配算法\SAD\src.jpg
文件 6889 2017-12-25 11:37 基于MATLAB的SAD模板匹配算法\SAD\src1.jpg
文件 33528 2017-12-25 10:54 基于MATLAB的SAD模板匹配算法\SAD\template.jpg
文件 18182 2017-12-25 11:37 基于MATLAB的SAD模板匹配算法\SAD\template1.jpg
- 上一篇:匹配滤波器的简单仿真
- 下一篇:jiasu1.m
相关资源
- 论文研究-双阈值分割于本色布疵点检
- MATLAB在数字图像处理中的应用-MATLAB在
- matlab实现视频中动态目标跟踪程序及
- 指纹识别程序Gabor滤波+详细注释+代码
- 指纹图像预处理程序
- matlab开发-RungeKuttaNystrom
- Matlab求灰度共生矩阵的特征值
- 数字图像处理matlab版m文件
- CT图像重建的MATLAB代码
- HOG目标跟踪
- 数字图像处理基于MATLAB膨胀算法实现
- 目标跟踪定位算法的matlab程序
- 利用matlab提高图像对比度
- 数字图像处理-染色体计数
- MATLAB数字图像处理算法演示程序GUI
- 数字图像处理matlab版本书中源程序及
- 多维压缩感知中三维图像处理Matlab
- K-means应用于图像处理matlab程序
- matlab实现的图像梯形矫正
- 数字图像处理源冈萨雷斯源代码
- 图像的简单处理
- 基于MATLAB的GUI图像处理剪裁程序设计
- dipum_toolbox_2.0.1.zip数字图像处理课本自
- 数字图像处理(MATLAB版)第三版_冈萨
- 基于matlab的数字识别程序gui显示.rar
- 基于matlab的DCT变换对灰度图像进行压
- 基于MATLAB图像处理的汽车牌照识别系
- matlab读取并显示遥感img图像,包含单
- 动物图像多分类识别MATLAB可运行
- 基于matlab的图像篡改检测2
评论
共有 条评论