1
votes

I am facing a problem: performing 1D FFT on a rotated column by column on a rotated image, described as following:

Original Image:

enter image description here

Rotated Image:

enter image description here

What I have:

  • original image
  • convolution kernel for the rotated image.

what I'd like to do:

  • perform the 1D FFT (image domain convolution, or frequency domain multiplication) on the ROTATED image.

Something like this:

enter image description here

However, from implementation point of view, then I need to do image rotation, then apply the 1D FFT, and it is an expensive implementation and execution at run time.

So, I am wondering, instead of rotating the image, how can I change my convolution kernel such that I can apply it to the original image? can I rotate the 1D FFT convolution kernel? If so, should I do it in frequency domain, or image domain? And how? Or any resources and literatures? Thanks a lot.

1
1. I think you would have more luck on Math site then here. 2. why is rotation expensive? in comparison to FFT it should be pretty fast 3. I am no expert in the FFT but my guts are telling me that if the kernel rotation is possible then only for 2D FFT in this case (1D FFT does not include the other columns which are needed)Spektre

1 Answers

1
votes

I eventually rotated the image, then performed the 1D fft column by column.