import numpy as np
import cv2
img_Up = cv2.imread("circle.jpeg",0)
f = np.fft.fft2(img_Up)
fshift = np.fft.fftshift(f)
img_magnitude_spectrum = 20*np.log(np.abs(fshift))
cv2.imwrite("img_magnitude_spectrum_circle.jpg", img_magnitude_spectrum)
# # more whiter region at the center showing low frequency content is more.
# # high-pass filter
rows, cols = img_Up.shape
crow,ccol = int(rows/2) , int(cols/2)
(crow,ccol)
fshift[crow-30:crow+30, ccol-30:ccol+30] = 0
f_ishift = np.fft.ifftshift(fshift)
img_filted_resulte = np.fft.ifft2(f_ishift)
img_filted_resulte = np.abs(img_filted_resulte)
cv2.imwrite("img_filted_resulte_circle.jpg", img_filted_resulte)
输出结果: