Why can you do Convolution in frequency Domain?

AI Thread Summary
Convolution can be performed in the frequency domain by utilizing the convolution theorem, which states that convolution in the spatial domain is equivalent to multiplication in the frequency domain. While pixel position is not directly accessible in the frequency domain, it is encoded in the phase data. To apply a convolution kernel in the frequency domain, both the image and the kernel must be transformed using the Fourier transform, and then they can be multiplied together. However, discrepancies can arise due to aliasing effects if the sizes of the entities differ. Zero padding is recommended to avoid aliasing and ensure accurate results. The confusion often stems from the interpretation of convolution in the frequency domain and the need to account for the effects of size and aliasing when performing these operations.
Agadoul
Messages
2
Reaction score
0
Hi everybody,

I have question: Why can you do Convolution filter in the frequency Domain ?

I mean, when you apply a filter to an image in the spatial domain, it 's easy. You've got for example your sobel 3x3 kernel that you apply on every pixel of your image. Easy.

But when you convert your image to the frequency domain using a fast Fourier transform, there is no notion of pixel position and there is no way you're going to be able to do a convolution on the image using the pixel that were around the pixel?

am I right ?

if not, can someone try to explain why?

Thanks,

Axel.
 
Computer science news on Phys.org
I'm not sure I understand the question entirely? But my understanding is that performing a convolution in the frequency domain is an equivalent operation to performing a vector multiplication in the time domain. So you can do it, but it doesn't have the same effect.

While it's true that pixel position is inaccessible in the frequency information, that information isn't gone, it's just hidden. Positional information gets encoded into for example the phase data.
 
I think you understood me well. Ok so the position is still there but he is not implicitly showed (the size of a Fourier transformation is the same of an image : that has to have a meaning too).
If you want to apply a convolution kernel in the frequency domain, how do you do that ?
convert both the image and the kernel in the Fourier image and multiply them together. the size of both entities are different. how do you do that ?

thanks,

Axel.
 
What is the rule for the convolution operation ?

If you know the formula than I don't think there should be a problem using that rule even in the frequency domain. But the problem is what is the interpretation for taking convolution in frequency domain. What do you want to filter?
 
Hello There,

I am doing my PhD in Image debluring and the convolution problem sometimes getting me crazy ..
If we take a simple example of convolution between 2 vectors A & B such that
A = [1 2] and B = [3 4]
and i want to perform the convolution in both time and frequency domain!
using MATLAB
>> A = [1 2]

A =

1 2

>> B = [3 4]

B =

3 4

>> C = conv(A,B)

C =

3 10 8

>> D = ifft(fft(A).*fft(B))

D =

11 10
But according to the convolution theorem A*B in the spatial domain is equivalen to A.B in the frequency domain but still we are not getting the same answer ,, Can Anyone explain me why please ! Thanks a lot ..
 
That is the same. You just forgot to alias the 8 back in on top of the 3. If you want to avoid aliasing then you need to do zero padding.
 
Thread 'Urgent: Physically repair - or bypass - power button on Asus laptop'
Asus Vivobook S14 flip. The power button is wrecked. Unable to turn it on AT ALL. We can get into how and why it got wrecked later, but suffice to say a kitchen knife was involved: These buttons do want to NOT come off, not like other lappies, where they can snap in and out. And they sure don't go back on. So, in the absence of a longer-term solution that might involve a replacement, is there any way I can activate the power button, like with a paperclip or wire or something? It looks...
I came across a video regarding the use of AI/ML to work through complex datasets to determine complicated protein structures. It is a promising and beneficial use of AI/ML. AlphaFold - The Most Useful Thing AI Has Ever Done https://www.ebi.ac.uk/training/online/courses/alphafold/an-introductory-guide-to-its-strengths-and-limitations/what-is-alphafold/ https://en.wikipedia.org/wiki/AlphaFold https://deepmind.google/about/ Edit/update: The AlphaFold article in Nature John Jumper...
Back
Top