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()
作者:你的雷哥
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。