发布时间:2021-09-25 23:14:11编辑:run阅读(6609)
高斯模糊滤波器也是一种线性滤波器,但与简单的均值滤波器不同的是它采用核窗口内像素的加权平均值来平滑一个像素(相邻像素的权重随着相邻像素与像素距离呈指数递减),PIL的ImageFilter.GaussianBlur()函数用不同半径参数值的核实现对较大噪声图像平滑。
from PIL import Image, ImageEnhance, ImageFilter import matplotlib.pylab as pylab pylab.rcParams['font.sans-serif'] = ['KaiTi'] pylab.rcParams['axes.unicode_minus'] = False def plot_image(image, title=''): pylab.title(title, size=20) pylab.imshow(image) pylab.axis('off') im = Image.open(r'D:\image_processing\image4\f.jpg') pylab.figure(figsize=(20, 15)) i = 1 for radius in range(1, 4): im1 = im.filter(ImageFilter.GaussianBlur(radius)) pylab.subplot(1,3,i) plot_image(im1, '半径为' + str(round(radius, 2))) i += 1 pylab.suptitle('不同半径的PIL高斯模糊', size=30) pylab.show()
可以看到,随着半径增大,高斯滤波器去除的噪声越来越多,图像变得更加平滑,也变得更加模糊。
47528
45843
36833
34367
29000
25633
24487
19646
19151
17672
5503°
6081°
5604°
5673°
6609°
5410°
5412°
5925°
5898°
7211°