资源简介
更深入理解模板匹配技术,能够独立根据已知算法(相关匹配(Correlation Matching)、基于Hausdorff距离匹配方法 及考虑对场景图象距离变换(Distance Transform)的Hausdorff距离匹配方法)在MATLAB下编程实现相关的模板匹配技术,并通过结果,对比不同算法的优缺点。
1)利用①相关匹配(Correlation Matching)、②基于Hausdorff距离匹配方法 及③考虑对场景图象距离变换(Distance Transform)的Hausdorff距离匹配方法,实现模板目标在场景图象中的定位。
2)对于每个模板分别给出最后的目标定位位置坐标(左下角坐标为(0,0)),对于方法①与②,比较定位精度的偏差;对于方法②与③比较定位效率(时间)。
代码片段和文件信息
clear
clc
Background_Source=imread(‘Scene.jpg‘);
Template_Source=imread(‘Template_1.jpg‘);
if size(Background_Source3)==3
Template=rgb2gray(Background_Source);
Template=double(Template);
else
Template=double(Template_Source);
end
if size(Template_Source3)==3
Background=rgb2gray(Template_Source);
Background=double(Background);
else
Background=double(Background_Source);
end
[Bk_r Bk_c]=size(Background);
[Te_r Te_c]=size(Template);
%实现公式运算
for i=1:(Bk_r-Te_r+1)
for j=1:(Bk_c-Te_c+1)
A=Background(i:i+Te_r-1j:j+Te_c-1).*Template;
B=sum(A(:));
C=Background(i:i+Te_r-1j:j+Te_c-1).*Background(i:i+Te_r-1j:j+Te_c-1);
D=sum(C(:));
E=Template.*Template;
F=sum(E(:));
Result(ij)=B/sqrt(D*F);
end
end
[C_maximax]=max(Result(:));
[y x]=ind2sub(size(Result)imax);%函数可以用来把矩阵元素的index转换成对应的下标,并输出坐标
y1=Bk_r-Te_r-y+1
x1=x-1
figure;
subplot(132);imshow(Background_Source);
title(‘原始图像‘);
subplot(131);imshow(Template_Source);
title(‘模板图像‘);
subplot(133);imshow(Background_Source);
title(‘匹配结果‘);
rectangle(‘Position‘[xysize(Template2)size(Template1)]‘EdgeColor‘‘r‘);
- 上一篇:QPSK的matlab
- 下一篇:OSELM代码matlab实现
相关资源
- 基于matlab+模板匹配的车牌识别程序
- 基于MATLAB的SAD模板匹配算法
- 基于matlab的数字识别程序gui显示.rar
- 一个模板匹配算法的MATLAB程序
- matlab实现图像模板匹配
- MATLAB基于肤色模型和模板匹配的人脸
- 多目标模板匹配
- Matlab图像处理模板匹配完整程序小飞
- 模板匹配,使用matlab语言实现图像匹
- 基于MATLAB模板匹配的车牌识别
- 模板匹配matlab程序112018
- 基于MATLAB的SADSSD模板匹配算法
- Matlab图像模板匹配算法
- 基于模板匹配的数字识别
- matlab基于肤色和模板匹配的人脸检测
- 一个有关飞机的模板匹配的跟踪的m
- SSDA 利用SSDA算法实现模板匹配
- 模板匹配算法车牌识别
- MATLAB车牌识别出入库计时计费(语音
- 模板匹配Matlab程序
- 模板匹配 matlab 算法
- SSDA SSDA序贯相似性检测方法对图像进
- Template-matching 模板匹配字符识别的程
- traffic-sign-recognition 复杂场景中的红色
- matlab做的模板匹配,简单有效
- 基于模板匹配的车牌识别系统
评论
共有 条评论