发布时间:2021-09-24 22:38:33编辑:run阅读(5825)
基于盒模糊核均值化平滑,使用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高斯模糊滤波器平滑
47742
46232
37105
34623
29225
25881
24740
19860
19413
17903
5711°
6311°
5829°
5883°
6980°
5825°
5841°
6356°
6312°
7669°