Digital Image Processing using Fourier Transform in Python

Craig Chen
7 min readFeb 17, 2020
Figure (a): (from left to right) (1) Original image (2) With Gaussian Low Pass Filter (3) With Gaussian High Pass Filter. The original image in this post comes from OpenCV Github example.

Digital images are now part of our daily life. People can hardly live without it. Therefore, digital image processing becomes more and more important these days. How to increase the resolution of images or reduce noises of images are always hot topics. Fourier Transformation can help us out. We can utilize Fourier Transformation to transform our image information - gray scaled pixels into frequencies and do further process.

Today, I’ll talk about how to utilize Fast Fourier Transformation in digital image processing, and how to implement it in Python. The process flow is as following (from left to right):

  1. Implement Fast Fourier Transformation to transform gray scaled image into frequency
  2. Visualize and Centralize zero-frequency component
  3. Apply low/high pass filter to filter frequencies
  4. Decentralize
  5. Implement inverse Fast Fourier Transformation to generate image data

Let’s dive into each section to figure out the theory behind theses steps.

Fast Fourier Transformation

--

--