2016-03-21 87 views
2

This問題描述了gabor濾波器系列及其應用相當不錯。雖然沒有描述濾波器的波長(空間頻率)。 Gabor小波的建立在for循環如下進行:如何計算Gabor濾波器中的空間頻率?

for v = 0 : 4 
    for u = 1 : 8 
     GW = GaborWavelet (R, C, Kmax, f, u, v, Delt2); % Create the Gabor wavelets 
      figure(2); 
     subplot(5, 8, v * 8 + u),imshow (real(GW) ,[]); % Show the real part of Gabor wavelets 

     GW_ALL(v*8+u, :) = GW(:); 

    end 

    figure (3); 
    subplot(1, 5, v + 1),imshow (abs(GW),[]); % Show the magnitude of Gabor wavelets 

end 

我知道,第二循環變量是PI/8間隔方向。雖然,我不知道這個代碼及其功能[pixels/cycle]中的第一個循環變量如何與空間頻率(波長)相關聯。誰能幫忙?

回答

0

我終於找到了答案。該GaborWavelet函數定義如下:

function GW = GaborWavelet (R, C, Kmax, f, u, v, Delt2) 
k = (Kmax/(f^v)) * exp(1i * u * pi/8);% Wave Vector 
kn2 = (abs(k))^2; 
GW = zeros (R , C); 
for m = -R/2 + 1 : R/2 
    for n = -C/2 + 1 : C/2 
     GW(m+R/2,n+C/2) = (kn2/Delt2) * exp(-0.5 * kn2 * (m^2 + n^2)/Delt2) * (exp(1i * (real(k) * m + imag (k) * n)) - exp (-0.5 * Delt2)); 
    end 
end 

Kmax爲最大頻率,f是間隔因子和v是分辨率。間距係數f通常被認爲是sqrt(2)。 根據this論文,k= 2*pi*f*exp(i*ϑ)和代碼Kmax=fmax*2*pi這是沒有描述,是找到濾波器的波長的關鍵。我還讀了this的實現,並注意到可以使用f = 1/lambda輕鬆找到波長,其中lambda是正弦波的波長。

因此,例如,如果Kmax=pi/2v=0,那麼k=Kmax*exp(1i*u*pi/8)並考慮上述公式,lambda = 2*pi/Kmax = 4 [pixel/cycle]