pip install scipy -i https://mirrors.aliyun.com/pypi/simple/
#%%
import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy.fftpack import fft2 %matplotlib inline
#%%
moon=plt.imread('../data/moonlanding.png') plt.figure(figsize=(10,8)) plt.imshow(moon,cmap='gray') plt.show()
#%% md
第一步:把图片变成频域 第二部:去噪 第三步:逆变换
#%%
moon_fft=fft2(moon) moon_fft
#%%
#绝对值大于某一个阈值的点认为是噪点>800 moon_fft[np.abs(moon_fft)>4e2]=0
#%%
#也可以写成 result=np.where(np.abs(moon_fft)>8e2,0,moon_fft) #逆变换 from scipy.fftpack import ifft2 imoon_fft=ifft2(moon_fft) moon_clean=np.real(imoon_fft)
#%%
plt.figure(figsize=(10,8)) plt.imshow(moon_clean,cmap='gray')