Ядро Gabor g(t)
имеет комплексное значение. Это квадратурный фильтр , означающий, что в частотной области (G(f)
) он не имеет отрицательных частот. Таким образом, четные и нечетные части этого частотного отклика связаны even(G(f)) = odd(G(f)) * sign(f)
. То есть четные и нечетные части имеют одинаковые значения для положительных частот, но обратные значения для отрицательных частот. Таким образом, сложение четной и нечетной частей приводит к подавлению отрицательных частот, а положительные частоты усиливают друг друга.
Четная часть (действительной) частотной характеристики соответствует четному и вещественному ядру. Нечетная часть соответствует нечетному и мнимому ядру. Четное ядро является оконным косинусом, нечетное ядро является оконным синусом.
Фильтр Габора применяется путем свертывания изображения с этими двумя компонентами с последующим получением величины результата.
Величина самого фильтра является гауссовым сглаживающим ядром (это окно над синусом и косинусом). Обратите внимание, что cos^2+sin^2=1
, поэтому величина не показывает волновую составляющую ядра. Код, который вы связали, который вычисляет величину ядра Gabor, делает много бессмысленных вычислений ...:)