发布时间:2021-09-24 22:38:33编辑:run阅读(5481)
基于盒模糊核均值化平滑,使用PIL的ImageFilter.Kernel()函数和大小为3x3和5x5的盒模糊核(均值滤波器)来平滑噪声图像
from PIL import Image, ImageEnhance, ImageFilter import matplotlib.pylab as pylab import numpy as np 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)) pylab.subplot(1, 3, 1) pylab.imshow(im) pylab.title('原始图像', size=25) pylab.axis('off') for n in [3, 5]: box_blur_kernel = np.reshape(np.ones(n*n), (n, n)) / (n * n) im1 = im.filter(ImageFilter.Kernel((n, n), box_blur_kernel.flatten())) pylab.subplot(1, 3, (2 if n==3 else 3)) plot_image(im1, '核大小为' + str(n) + 'x' + str(n)) pylab.suptitle('利用不同核大小的PIL均值滤波(盒模糊)', size=40) pylab.show()
可以看到,输出图像是通过将较大尺寸的盒模糊与已经平滑处理的噪声图像进行卷积得到的。
上一篇: python3-PIL线性噪声平滑
下一篇: python3-PIL高斯模糊滤波器平滑
47602
45980
36906
34465
29077
25710
24564
19711
19242
17755
5562°
6153°
5688°
5734°
6701°
5481°
5483°
5986°
5963°
7293°