How do I actually apply the convolution theorem? I have my fourier transformed image matrix, and a Fourier transformed kernel, but how do I actually multiply these together to achieve the intended effect of the kernel? Is it through matrix multiplication or some other method? The dimensions are different though.
You have many great code examples at our community:
- 2D Frequency Domain Convolution Using FFT (Convolution Theorem).
- Kernel Convolution in Frequency Domain - Cyclic Padding.
- 2D Image Convolution: Spatial Domain vs. Frequency Domain Convolution in the Computational Complexity Sense.
- Applying Image Filtering (Circular Convolution) in Frequency Domain.
- Applying 2D Image Convolution in Frequency Domain with Replicate Border Conditions in MATLAB.
- How to Zero Pad in Order to Perform Filtering in the Fourier (Frequency) Domain?
- Replicate MATLAB's
conv2()in Frequency Domain.
The last 2 have a specific code to do image filtering in frequency domain.