The use of convolution in image processing is widely discussed.
The mathematics and intuition behind is very well described by 3B1B:
Convolution Theorem
Perhaps one of the most important theorems of all:
\[\mathcal{F}[f(t) \ast g(t)]=F(s)G(s)\]
describes a faster way to do large scale convolutions: Fourier Transforming \(f(t)\) into \(F(s)\) and \(g(t)\) into \(G(s)\) first, then applying inverse Fourier Transform to the product of \(F(s)\) and \(G(s)\).
Blurring and Sharpening of Images
I have created a python program where the user can input an arbitary kernel, which will be convolved with images inputted. Source of Image
Using the “Box Blurring Kernel”: (\(50 \times 50\) array filled with ones and normalized)
The steps roughly follow that of the Convolution Theorem. The key is to do it separately for each colour channel, then recombine them at the end.
Fast Fourier Transform
The astute reader may notice that Fast Fourier Transform (FFT) has been used above. It provides a much faster way to compute Fourier Transforms, with a time complexity of \(O(n \log n)\) instead of \(O(n^2)\).
The most wide used Algorithm is the Cooley–Tukey algorithm. A simplied case is illustrated in my other post.
This is the eleventh post on my summer research about three-body problems. Today we are continuing our discussion on the problem of Two Fixed Centers. Please...
This is the tenth post on my summer research about three-body problems. Today we are discussing my search of possible new planet orbits. This is intended to ...
This is the nineth post on my summer research about three-body problems. Today we are discussing the existence of the Figure-8 orbits. This will involve the ...
This is the eighth post on my summer research about three-body problems. Today we are continuing our discussion on Sundman’s Power Series, showing why the se...