Can 2D FFT Convolution Be Performed Without Padding Images?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 7K views
engcon
Messages
12
Reaction score
0
I'm trying to do FFT convolution via the FFTW3 library for image processing purposes. Basically I have a kernel and I am convolving it with an image.

A problem I encountered has to do with the dimensions of the image. When the width is not equal to the height, the pixel values I get, seem to be at the wrong x,y coords. With the width and height being equal I get the correct results.

My questions are:
Is it possible to perform 2D FFT convolution with width not equal to height, without having to pad the image?
Could it have to do with the way I'm padding the kernel to match the image size?

I'm using an NVIDIA paper, available http://developer.download.nvidia.com/compute/cuda/2_2/sdk/website/projects/convolutionFFT2D/doc/convolutionFFT2D.pdf" on the subject as a guide.
 
Last edited by a moderator:
Physics news on Phys.org
engcon said:
My questions are:
Is it possible to perform 2D FFT convolution with width not equal to height, without having to pad the image?
Could it have to do with the way I'm padding the kernel to match the image size?

Yes, it is...take a look http://www.cs.cf.ac.uk/Dave/Multimedia/node228.html" to see how the 2D discrete Fourier transform is defined on a rectangular grid. Padding with zeros gives you a result which is probably different than what you want in your application.
 
Last edited by a moderator: