Python Pillow – 模糊一个图像
模糊图像是一个降低图像中噪音水平的过程,它是图像处理的重要方面之一。在这篇文章中,我们将学习使用一个Pillow库来模糊图像。为了模糊图像,我们使用这个库中ImageFilter类中的一些方法来模糊图像对象。
注意:所有不同方法中用于模糊的图像如下。
ImageFilter类提供的方法
- PIL.ImageFilter.BoxBlur() :通过将每个像素设置为在每个方向上延伸半径像素的正方形盒子中的像素的平均值来模糊图像。支持任意大小的浮动半径。使用一个优化的实现,相对于任何半径值的图像大小,都能以线性时间运行。
语法: PIL.ImageFilter.BoxBlur(radius)
参数:
- radius: 在一个方向上的盒子的大小。半径0不模糊,返回一个相同的图像。半径1在每个方向取1个像素,即总共9个像素。
# Importing Image class from PIL module
from PIL import Image
# Opens a image in RGB mode
im = Image.open(r"geek.jpg")
# Blurring the image
im1 = im.filter(ImageFilter.BoxBlur(4))
# Shows the image in image viewer
im1.show()
输出 :
2. PIL.ImageFilter.GaussianBlur():该方法创建一个高斯模糊过滤器。该过滤器使用半径作为参数,通过改变这个半径的值,图像上的模糊强度将被改变。函数中的参数radius负责模糊强度。通过改变半径的值,高斯模糊的强度就会改变。
语法: PIL.ImageFilter.GaussianBlur(radius=5)
参数:
- radius – 模糊半径。改变半径值可以得到不同强度的高斯模糊图像。
返回类型: An image.
# Importing Image class from PIL module
from PIL import Image
# Opens a image in RGB mode
im = Image.open(r"geek.jpg")
# Blurring the image
im1 = im.filter(ImageFilter.GaussianBlur(4))
# Shows the image in image viewer
im1.show()
输出 :
3.Simple blur:它通过一个特定的内核或卷积矩阵对图像施加一个模糊效果。它不需要任何参数。
语法: filter(ImageFilter.BLUR)
# Importing Image class from PIL module
from PIL import Image
# Opens a image in RGB mode
im = Image.open(r"geek.jpg")
# Blurring the image
im1 = im.filter(ImageFilter.BLUR)
# Shows the image in image viewer
im1.show()
输出 :