The FFT was the point in my signals course where half the class quietly gave up. The formula did not help me either. What helped was building things with it. So this is the version I wish someone had handed me: what the transform actually does, and the places where it still earns its keep in my image work.

Figure: rendered by me on synthetic data.
An image is a sum of waves
Every image can be rebuilt, exactly, as a stack of 2D sinusoids. Slow waves make the smooth regions: sky, walls, out-of-focus background. Fast waves make edges, texture and noise. The Fourier transform does not compute anything new about the image. It is a change of coordinates: instead of “this brightness at this pixel” you get “this much of each wave”. Nothing is lost. You can go back whenever you want.
The FFT itself is just the fast algorithm for that change of coordinates. It turns a computation that scales with n² into one that scales with n log n. That speed is the entire reason the frequency domain is practical at all. Without it, this post would be theory.
Filtering becomes multiplication
The one theorem worth internalising: convolution in the pixel domain is multiplication in the frequency domain. A blur is “multiply the fast waves by almost zero”. A sharpening filter is the opposite. Once you see filters this way, a lot of classic image processing stops being a bag of tricks and becomes one idea wearing different masks. I wrote about those spatial-domain basics in the fundamentals I still use every week, and the FFT is the theory floor under most of them.
There is also a practical rule hiding here. For a small kernel, say 3×3, plain spatial convolution wins. For very large kernels, going through the FFT wins. Libraries pick the route for you, but knowing why saves you from bad intuitions about cost.
The spectrum as a debugging tool
This is where I actually open the frequency domain in real work: not to process images, but to look at them.
Periodic noise, the kind you get from electrical interference on a cheap camera link, shows up as bright isolated dots in the magnitude spectrum. You can see it in two seconds when the pixel view just looks vaguely dirty. Vibration blur on a drone has a signature too: energy collapses along one direction. And a defocused lens shows as missing high-frequency energy, which makes the spectrum a decent automated focus check when you are staring at a feed and something feels off.
Alignment almost for free
Take two frames shifted relative to each other, correlate their phase, and you get a single sharp peak at exactly the offset. That is phase correlation, and it is remarkably robust to lighting changes because it ignores intensity and keeps only phase. It is one of the workhorses behind image registration and stitching, which we cared about when turning drone frames into a map for SUAS.
Where it does not help
Honesty section. Our YOLO detector never sees a spectrum. Deep networks learn their own filters, and hand-built frequency features are not the way in.
But the concepts still do quiet work every day. Aliasing is a frequency-domain idea, and it is why you blur before you downsample. JPEG artifacts are a frequency-domain idea. Why a 100-pixel target becomes undetectable after a careless resize: same idea. You can use the FFT rarely and still need to understand it constantly. That is my actual relationship with it.