如何使用卷积来查找图像的相同部分

New*_*ser 1 matlab image crop image-processing

我有一个功能,旨在裁剪图像的一部分,并通过使用在主图片中找到裁剪的部分conv2.据我所知,当在两个矩阵上使用卷积时,结果矩阵中的最大值坐标显示矩阵的相似部分.我的问题是x,y没有表明真正的观点.

function [  ] = cropImage( fileIn)
    im=imread(fileIn);
    [r c]=size(im);
    crop=imcrop(im);

    figure(1)
    subplot(2,2,1)
    imshow(im)
    subplot(2,2,2)
    imshow(crop)

    d=conv2(double(im),double(crop);
    m=max(d);
    m=max(m);
    [x y]=find(d==m);     

    subplot(2,2,4)
    imshow(d)

    text(x,y,'+','color','r');    
    subplot(2,2,1)

    text(x,y,'+','color','r');    
end
Run Code Online (Sandbox Code Playgroud)

Ima*_*ngo 7

卷积不会给你最大相似点,相关性(或互相关)是你正在寻找的算子.更具体地说,matlab已经为2d图像实现了规范化的互相关:

>>> c = normxcorr2(template, image);
>>> [ypeak, xpeak] = find(c==max(c(:)));
Run Code Online (Sandbox Code Playgroud)

相关是卷积算子的180度旋转.