python-图像模糊操作:包括均值模糊,中值模糊,高斯模糊和双边滤波。本文主要讲其中的高斯模糊。
图像的高斯模糊时非常经典的图像卷积例子。本质上,图像模糊就是将(灰度)图像I和一个高斯核进行卷积操作:高斯模糊通常是其他图像处理操作的一部分,比如图像插值操作,兴趣点计算,以及很多其他应用。scipy有用来做滤波处理的scipy.ndimage.filters模块。该模块使用快速一维分离的方式来计算卷积。scipy.ndimage.filters.gaussian_filter(a,b),其中b参数代表标准差()。
代码如下:
from PIL import Image
from numpy import *
from scipy.ndimage import filters
# im = Image.open('D:\\software\\pycharm\\PycharmProjects\\computer-version\\data\\tu3.jpg') # 打开原图
# # im_gray = im.convert('L') # 转化为灰度图像
# # im.show() #显示原始灰度图像
im_gray = array(Image.open('D:\\software\\pycharm\\PycharmProjects\\computer-version\\data\\tu3.jpg').convert('L'))
im_gray2 = filters.gaussian_filter(im_gray,2)
image_2 =Image.fromarray(im_gray2) #Image.fromarray() 函数将数组对象作为输入,并返回由数组对象制作的图像对象。
# image_1.show() #标准差为2时的高斯滤波器
im_gray3 = filters.gaussian_filter(im_gray2,5)
image_3 =Image.fromarray(im_gray3)
# image_3.show() #标准差为2时的高斯滤波器
im_gray4 = filters.gaussian_filter(im_gray,10)
image_4 =Image.fromarray(im_gray4)
# image_4.show() #标准差为2时的高斯滤波器
原始灰度图如下:
(=2)结果如下:
(=5)结果如下:
(=10)结果如下:
结论:标准差越大,图像就越模糊。