⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 templatematcher.m

📁 使用matlab编写的一个简单模板匹配程序
💻 M
字号:
%模板匹配
function [maxHeight,maxWidth,MaxR] = templateMatcher(im_matched,im_template)

if  isrgb(im_matched)
    im_matched = rgb2gray(im_matched);
end
if  isrgb(im_template)
    im_template = rgb2gray(im_template);
end
dim_matched =double(im_matched);
dim_template = double(im_template);


%方差
 sigmaST = 0.0;
 sigmaS = 0.0;
 sigmaT = 0.0;
%相似性测度
%double R
%最大相似性测度
 MaxR = 0.0;
%最大相似性出现位置
 maxWidth=0;
 maxHeight=0;
%计算sigmaT

[tempheight,tempwidth] = size(im_template);
for n =1:tempheight
   for m =1:tempwidth
       sigmaT = sigmaT + dim_template(n,m)^2;
   end
end
sigmaT = sqrt(sigmaT);

%找到图像中最大相似性的出现位置
[height,width] = size(im_matched);
% width = size(im_matched,2);
for j =1:height-tempheight
    for i =1:width-tempwidth
        sigmaST = 0;
        sigmaS = 0;
        for n = 1:tempheight
            for m = 1:tempwidth
             sigmaS = sigmaS +  dim_matched(j+n,i+m)^2;
             sigmaST = sigmaST + dim_template(n,m)*dim_matched(j+n,i+m);
             end
        end
        
     %计算相似性
     sigmaS = sqrt(sigmaS);
     R = sigmaST /(sigmaS*sigmaT);
     %与最大相似性比较
     if(R >MaxR)
         MaxR = R;
         maxWidth = i+1;
         maxHeight =j+1;
     end
    end
end
recWidth = [maxWidth maxWidth+tempwidth-1 maxWidth+tempwidth-1 maxWidth maxWidth];
recHeight = [maxHeight maxHeight maxHeight+tempheight-1 maxHeight+tempheight-1 maxHeight];
  figure,imshow(im_matched);hold on , plot(recWidth,recHeight,'r-');   
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -