在 Accord.ne t框架中,使用两个类来构造Gabor过滤器:
其他地方有多种Gabor过滤器实现:
但是, Accord.net 中的源代码对我来说很奇怪。他们讨论了三种类型的内核:
Real
Imaginary
Magnitude
SquaredMagnitude
有人可以解释后三种(Real
是不言自明的)类型还是可以推荐我一些可以研究它们的材料?
答案 0 :(得分:1)
Gabor kernel g(t)
是复数值。它是quadrature filter,表示在频域(G(f)
)中没有负频率。因此,该频率响应的偶数和奇数部分与even(G(f)) = odd(G(f)) * sign(f)
相关。也就是说,偶数部分和奇数部分的正频率值相同,而负频率的值相反。因此,将偶数部分和奇数部分相加会导致抵消负频率,而使正频率相互增强。
(实值)频率响应的偶数部分对应于偶数和实值内核。奇数部分对应于一个奇数和虚值内核。偶数内核是有窗余弦,奇数内核是有窗正弦。
通过将图像与这两个分量进行卷积,然后取结果的大小来应用Gabor过滤器。
滤波器本身的大小只是一个高斯平滑核(它是正弦和余弦的窗口)。注意cos^2+sin^2=1
,因此幅度未显示内核的波分量。您链接的用于计算Gabor内核大小的代码执行了很多无意义的计算...:)