Python Pillow 模糊图像
通过对图像应用滤波器来减少图像中的噪声,可以实现图像的模糊效果。图像模糊是图像处理的重要方面之一。
Pillow库中的 ImageFilter类 提供了几种标准图像滤波器。可以通过调用 Image对象 的 filter()方法 并使用ImageFilter类中定义的所需滤波器类型来将滤波器应用于图像。
有多种技术用于图像模糊,我们将讨论下面提到的技术。
- 简单模糊
-
盒状模糊
-
高斯模糊
这三种技术都将使用’Image.filter()’方法来应用滤波器到图像上。
简单模糊
根据特定的内核或卷积矩阵,对图像应用模糊效果。
语法
filter(ImageFilter.BLUR)
示例
#Import required Image library
from PIL import Image, ImageFilter
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
blurImage = OriImage.filter(ImageFilter.BLUR)
blurImage.show()
#Save blurImage
blurImage.save('images/simBlurImage.jpg')
运行上述示例时,会生成两个标准的PNG显示工具窗口(在这种情况下是 照片 应用程序)。
原始图片
模糊图像
盒式模糊
在这种滤镜中,我们使用‘radius’作为参数。半径与模糊值成正比。
语法
ImageFilter.BoxBlur(radius)
其中,
- 半径 − 在一个方向上框的大小。
-
半径 0 − 表示没有模糊和返回相同的图像。
-
半径 1 − 在每个方向上减去1个像素,即总共9个像素。
示例
#Import required Image library
from PIL import Image,
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
#Applying BoxBlur filter
boxImage = OriImage.filter(ImageFilter.BoxBlur(5))
boxImage.show()
#Save Boxblur image
boxImage.save('images/boxblur.jpg')
输出
在执行时,上述示例将生成两个标准的PNG显示实用程序窗口(在此示例中为Windows照片应用程序)。
原始图像
模糊图像
高斯模糊
该滤镜也使用半径参数,并通过一些算法的变化来完成与盒模糊相同的工作。简而言之,改变半径值将生成不同强度的“高斯模糊”图像。
语法
ImageFilter.GaussianBlur(radius=2)
在这里,
- Radius – 模糊半径
示例
#Import required Image library
from PIL import Image, ImageFilter
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
#Applying GaussianBlur filter
gaussImage = OriImage.filter(ImageFilter.GaussianBlur(5))
gaussImage.show()
#Save Gaussian Blur Image
gaussImage.save('images/gaussian_blur.jpg')
输出
执行上述示例后,将生成两个标准的PNG显示实用程序窗口(在这种情况下为Windows 照片 应用程序)。
原始图像
模糊的图片