zoukankan      html  css  js  c++  java
  • matlab练习程序(模板匹配)

      这里只是简单的实现一下,这个和直方图反向投影很像。

      书上说了,“优势是理论上的,很难发展处一种满意的模板匹配技术”。

      代码:

    clear all;
    close all;
    clc;
    
    img=imread('lena.jpg');
    imshow(img);
    img=double(img);
    mask=double(imcrop());
    [m n]=size(img);
    [H W]=size(mask);
    
    if mod(H,2)~=1
        H=H+1;
    end
    if mod(W,2)~=1
        W=W+1;
    end
    mask=imresize(mask,[H W]);
    
    HH=floor(H/2);
    WW=floor(W/2);
    
    imgn=zeros(m+2*HH+1,n+2*WW+1);
    imgn(HH+1:m+HH,WW+1:n+WW)=img;
    imgn(1:HH,WW+1:n+WW)=img(1:HH,1:n); 
    imgn(1:m+HH,n+WW+1:n+2*WW+1)=imgn(1:m+HH,n:n+WW);
    imgn(m+HH+1:m+2*HH+1,WW+1:n+2*WW+1)=imgn(m:m+HH,WW+1:n+2*WW+1);
    imgn(1:m+2*HH+1,1:WW)=imgn(1:m+2*HH+1,WW+1:2*WW);
    
    re=imgn;
    for i=HH+1:m+HH
        for j=WW+1:n+WW
            tmp=imgn(i-HH:i+HH,j-WW:j+WW);
            re(i,j)=sum(sum((tmp-mask).^2));       %最小平方差 
        end
    end
    
    figure;
    re=mat2gray(re(HH+1:m+HH,WW+1:n+WW));
    imshow(1-re);

    原图

    模板

    结果

    最亮的点即为眼睛所在的位置。

  • 相关阅读:
    alpha冲刺3
    alpha冲刺2
    alpha冲刺1
    软工第七次作业
    软工第八次作业
    软工第六次作业
    软工第五次作业
    软工第四次作业
    Alpha冲刺一 (2/10)
    Alpha冲刺一(1/10)
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2813696.html
Copyright © 2011-2022 走看看