import cv2
import numpy as np
from matplotlib import pyplot as plt
def fourier_trans(img):
img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
img_float32 = np.float32(img)
dft = cv2.dft(img_float32, flags = cv2.DFT_COMPLEX_OUTPUT)
dft_shift = np.fft.fftshift(dft)
mag, angle=cv2.cartToPolar(dft_shift[:,:,0], dft_shift[:,:,1])
magnitude_spectrum = 10*np.log(mag)
plt.subplot(131)
plt.imshow(img, cmap='gray')
plt.title('Image1')
plt.xticks([])
plt.yticks([])
plt.subplot(132)
plt.imshow(magnitude_spectrum, cmap='gray')
plt.title('Image2')
plt.xticks([])
plt.yticks([])
plt.subplot(133)
plt.imshow(angle, cmap='gray')
plt.title('angle_spectrum')
plt.xticks([])
plt.yticks([])
img = cv2.imread("C:\\Users\\Administrator.DESKTOP-7RNDK15\\Desktop\\lena.bmp")
fourier_trans(img)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
import numpy as np
from matplotlib import pyplot as plt
def fourier_trans(img):
img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
fft = cv2.dft(np.float32(img), flags=cv2.DFT_COMPLEX_OUTPUT)
filtered = cv2.idft(fft, flags = cv2.DFT_REAL_OUTPUT)
'''
plt.subplot(131)
plt.imshow(filtered, cmap='gray')
plt.title('Image1')
plt.xticks([])
plt.yticks([])
'''
cv2.imshow('img', filtered)
img = cv2.imread("C:\\Users\\Administrator.DESKTOP-7RNDK15\\Desktop\\lena.bmp")
fourier_trans(img)
cv2.waitKey(0)
cv2.destroyAllWindows()