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 に答える