I have a 2D image and I convolve it with a 2D kernel image using FFT. So far I was always using symmetric kernels (e.g., Gaussian with stddev_x = stddev_y). As a result, I never bothered thinking whether I have to flip my kernel image or not because it wouldn't have made any difference. However, now I want to convolve my image using an elliptical Gaussian kernel with stddev_x != stddev_y and an arbitrary angle. Now, do I have to flip my kernel image prior the FFT convolution? Or the flipping is required only when using the usual convolution algorithm and not the FFT-based one?

Thank you.

  • $\begingroup$ I don't know what I was thinking when I asked this question. An elliptical Gaussian kernel will always look the same if you flip it on both axes, regardless the x/y stddev and position angle. So, I really don't have to care about flipping the kernel or not. Nevertheless, the reply I got answered my question, and I will keep that in mind for the future! :) $\endgroup$
    – AstrOne
    Feb 28 '16 at 2:07

Flipping & dragging is an animative method used in graphical computation of convolution in time (or space) domain. It is the result of an argument manipulation in $h[n-k]$ (or $x[n-k]$) signal animated as a function of n, but drawn on an axis of k, in the convolution sum: $$y[n] = x[n]*h[n]=\sum {x[k]h[n-k] }$$ On the other hand in frequency domain DFT (FFT) based convolution implementations you don't need it as you simply multiply the two DFTs.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.