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')