почему он выполняет БПФ для фильтра, созданного вейвлетом Габора (изображение)

Я использую код 2D gabor для обработки изображений. Банк фильтров Габора генерируется с помощью вейвлета Габора в масштабе 4 с 8 ориентациями. Тогда у меня есть фильтры 4*8. Во всяком случае, я обнаружил в программе, что она сначала выполняет БПФ для изображения и БПФ для фильтра Габора и устраняет постоянную составляющую БПФ ГАбора.

[Gr,Gi] = Gabor(N,[s n],freq,[stage orientation],flag);
F = fft2(Gr+j*Gi);
F(1,1) = 0;

Затем он выполняет обратное БПФ к точечному умножению изображения БПФ и БПФ фильтра Габора.

D = abs(ifft2(im.*GW));  

Кто-нибудь может объяснить, почему это так? Какая польза от FFT2 для фильтра Габора?


person user3445690    schedule 21.03.2014    source источник


Ответы (1)


Вы вычисляете пространство Габора своего изображения, как сообщается здесь. Как вы там читаете, вы хотите вычислить свертку фильтра с изображением, и это то, что делает ваш код.

теорема о свертке позволяет вычислить свертку вашего фильтра с сигналом (изображением) как обратную преобразование произведения их двух преобразований Фурье. Это делается таким образом, потому что он лучше масштабируется при больших входных данных, т. е. обычно быстрее, чем обычная свертка, см. это абзац.

person gg349    schedule 21.03.2014