模块ndimage提供了大量用于N维图像处理的方法,这里仅仅演示高斯滤波、边缘锐化、中值滤波
from scipy import misc
from scipy import ndimage
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#解决标题、坐标轴标签不能是中文的问题
plt.rcParams['axes.unicode_minus']=False#标题等默认是英文输出
face=misc.face()#face是测试图像之一
plt.figure()#创建图像
plt.imshow(face)#绘制测试图像
plt.title('原始图像')
plt.show()#原始图像
blurred_face=ndimage.gaussian_filter(face, sigma=7)#高斯滤波
plt.imshow(blurred_face)
plt.title('高斯滤波图像')
plt.show()#高斯滤波图像
#边缘锐化
blurred_face1=ndimage.gaussian_filter(face, sigma=1)
blurred_face3=ndimage.gaussian_filter(face, sigma=3)
sharp_face=blurred_face3+6*(blurred_face3-blurred_face1)
plt.imshow(sharp_face)#边缘锐化图像
plt.title('边缘锐化结果')
plt.show()
median_face=ndimage.median_filter(face,7)#中值滤波
plt.imshow(median_face)
plt.title('中值滤波结果')
plt.show()