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 显示实用程序窗口(在本例中为 Windows照片应用程序)。

原图

原图2

图像模糊

图像模糊

框模糊

在此过滤器中,我们使用“半径”作为参数。半径与模糊值成正比。

句法

ImageFilter.BoxBlur(radius)

在哪里,

  • 半径- 盒子在一个方向上的大小。

  • 半径 0 - 表示没有模糊并返回相同的图像。

  • R半径 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 照片应用程序)。

原图

原图3

图像模糊

模糊图像2

高斯模糊

该滤镜还使用参数半径,并与框模糊执行相同的工作,但进行了一些算法更改。简而言之,改变半径值,将生成不同强度的“高斯模糊”图像。

句法

ImageFilter.GaussianBlur(radius=2)

在哪里,

  • 半径 – 模糊半径

例子

#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照片应用程序)。

原图

原始图像4

图像模糊

模糊图像3