发布时间:2021-09-24 22:38:33编辑:run阅读(7688)
基于盒模糊核均值化平滑,使用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高斯模糊滤波器平滑
51259
50698
41296
38116
32577
29483
28341
23202
23168
21498
1573°
2288°
1899°
1840°
2150°
1882°
2572°
4310°
4159°
2967°