Python Pillow 模糊图像


可以通过对图像应用过滤器来降低图像中的噪声水平来使图像模糊。图像模糊是图像处理的重要方面之一。

The 图像过滤器类 Pillow 库中提供了几个标准的图像过滤器。图像过滤器可以通过调用 过滤器()方法 ImageFilter 类中定义的具有所需过滤器类型的 Image 对象。

有多种技术用于模糊图像,我们将讨论下面提到的技术。

  • 简单的模糊

  • Box blur

  • 高斯模糊

所有这三种技术都将使用“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 Photos app).

原始图像

Original Image2

图像模糊

Blurred Image

Box blur


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

语法

ImageFilter.BoxBlur(radius)

Where,

  • Radius : 一个方向的盒子大小。

  • Radius 0 :表示没有模糊&返回相同的图像。

  • R半径1 &minnus;每个方向占用 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 Photos 应用程序)。

原始图像

Original Image3

图像模糊

Blurred Image2

高斯模糊


此过滤器还使用参数半径,并通过一些算法更改完成与框模糊相同的工作。简而言之,改变半径值,会产生不同强度的“高斯模糊”图像。

语法

ImageFilter.GaussianBlur(radius=2)

Where,

  • 半径 - 模糊半径

例子

#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 Photos app).

原始图像

Orignal Images4

图像模糊

Blurred Image3