This question already has an answer here:
- Fourier transform of a Fourier transform 2 answers
I was asked to perform DFT on an image twice as a part of my school assignment. Why am I getting a blurry inverted image when I perform DFT on an image twice? Sorry, I'm new to image processing and signal processing. Can someone help me explain this mathematically?
[Edit]: I haven't shifted the DC value, F(0,0), to the center as usual, for the magnitude spectra given here. (I haven't used
Here's the exact code I used.
import numpy as np from matplotlib import pyplot as plt img = plt.imread("Q4.tif") dft = np.fft.fft2(img) dft_of_dft = np.fft.fft2(dft) spectrum = np.abs(dft) c = 255 / log(1 + np.amax(spectrum)) spectrum = c*np.log(spectrum) double_dft_spectrum = np.abs(dft_of_dft) c = 255 / log(1 + np.amax(double_dft_spectrum)) double_dft_spectrum = c*np.log(double_dft_spectrum) p, axarr = plt.subplots(1, 3, figsize=(12,4)) axarr.imshow(img, cmap = 'gray') axarr.set_title('Original Image') axarr.imshow(spectrum, cmap = 'gray') axarr.set_title('DFT') axarr.imshow(double_dft_spectrum, cmap = 'gray') axarr.set_title('Double DFT') plt.show()