【问题标题】:How to calculate the Spatial frequency in Gabor filter?如何计算 Gabor 滤波器中的空间频率?
【发布时间】:2023-03-17 11:14:01
【问题描述】:

This 问题很好地描述了 gabor 滤波器系列及其应用。但是,没有任何关于滤光片的波长(空间频率)的描述。 gabor 小波的创建在以下 for 循环中完成:

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] 相关联。任何人都可以帮忙吗?

【问题讨论】:

    标签: image matlab image-processing


    【解决方案1】:

    我终于找到了答案。 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]

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 2011-09-20
      • 1970-01-01
      • 2021-08-12
      • 2011-03-11
      • 2014-11-24
      • 2018-12-11
      • 2011-07-04
      • 1970-01-01
      相关资源
      最近更新 更多