3

我有一个可以识别图像中字符位置的源代码。但是有一行代码我无法弄清楚为什么?

[r c]=size(mainImage);

% Why rotate 90 degree? why multyply? why??? :-??
splash = real(ifft2(fft2(mainImage) .* fft2(rot90(object, 2), r, c)));

thresh = max(splash(:))-10;
for i=1:r
    for j=1:c
        if splash(i,j)>=thresh 
            splash(i,j)=1;
        else
           splash(i,j)=0;
        end
    end
end
4

1 回答 1

5

我的 FFT 知识有点生疏,但我认为这本质上是在计算互相关

频域中的乘法相当于空间/时域中的卷积。互相关相当于与反相信号的卷积——这就是 180° 旋转试图做的事情。在我微醉的头脑中,我不能说这个特定的实现是否应该起作用。

Matlab 具有直接计算互相关的功能,但它们可能驻留在此代码的作者(或预期用户)无法使用的工具箱中。

于 2011-03-02T22:40:34.867 回答