Scipy实现图片去噪

先贴要处理的图片如下

由图片显示可知:

# 图片中存在噪声点,白色的圆环
# 圆环上的数据和圆环里面和外面不同,所以可以显示出肉眼可识别的图片
# 波动
# 存在噪声的地方,波动比较大

 

# 傅里叶变换可以将数据转换,数据------->频域(数据波动情况)
# 将波动比较大的数据过滤掉,噪声过滤

#代码如下

#导包

>>> import numpy as np
>>> import pandas as pd
>>> from pandas import Series,DataFrame
>>> import matplotlib.pyplot as plt
>>> import scipy.fftpack as fft
>>> ma=plt.imread("C:/a/a1.jpg")
>>> plt.imshow(ma)
<matplotlib.image.AxesImage object at 0x0000000010793BA8>
>>> plt.show()#展示原始图片

>>> #使用scipy中的快速傅里叶转换进行变换
>>> ma_fft=fft.fft2(ma)

>>> #根据条件进行滤波

>>> ma_fft2=np.where(np.abs(ma_fft)>5e3,0,ma_fft)

>>> #逆变化
>>> ma_ifft=fft.ifft(ma_fft2)

>>> result=np.real(ma_ifft)#转换为整数
>>> plt.figure(figsize=(12,9))#设置尺寸

 

>>> plt.imshow(result)
<matplotlib.image.AxesImage object at 0x0000000010A437F0>
>>> plt.show()

 

posted @ 2018-07-26 17:16  你的雷哥  阅读(580)  评论(0编辑  收藏  举报