Python Pillow - 锐化蒙版滤镜



锐化蒙版是一种广泛应用于图像处理中的图像锐化技术。锐化蒙版的基本概念是使用图像的负像的软化或不锐化版本来创建蒙版。然后,将此锐化蒙版与原始正像合并,从而得到原始图像的较少模糊的版本,使其更清晰。

Python pillow(PIL) 库在其 ImageFilter 模块中提供了一个名为 UnsharpMask() 的类,用于将锐化蒙版滤镜应用于图像。

锐化蒙版滤镜

ImageFilter.UnsharpMask() 类表示锐化蒙版滤镜,用于增强图像锐度。

以下是 ImageFilter.UnsharpMask() 类的语法:

class PIL.ImageFilter.UnsharpMask(radius=2, percent=150, threshold=3)

其中,

  • radius - 该参数控制模糊半径。半径影响要增强的边缘的大小。较小的半径会锐化较小的细节,而较大的半径会在物体周围产生光晕。调整半径和强度会相互影响;减小一个允许另一个产生更大的影响。

  • percent - 它以百分比的形式确定锐化蒙版的强度。百分比控制锐化效果的强度或幅度。它决定在物体边缘添加多少对比度。较高的强度会导致更明显的锐化效果,使边缘边界更暗和更亮。它不会影响边缘边框的宽度。

  • threshold - 阈值控制需要锐化的亮度变化的最小值。它决定了相邻色调值需要有多大的差异才能使滤镜生效。较高的阈值可以防止平滑区域出现斑点。较低的值会锐化更多,而较高的值会保留对比度较低的区域。

示例

以下示例使用 ImageFilter.UnsharpMask() 类和 Image.filter() 方法(使用默认值)将锐化蒙版滤镜应用于图像。

from PIL import Image, ImageFilter

# Open the image 
original_image = Image.open('Images/Flower1.jpg')

# Apply the Unsharp Mask filter with default parameter values
sharpened_image = original_image.filter(ImageFilter.UnsharpMask())

# Display the original image
original_image.show()

# Display the sharpened image
sharpened_image.show()

输出

输入图像:

zinnia flower

使用默认参数值应用锐化蒙版滤镜后的输出图像:

imagefilter unsharpmask

示例

这是另一个示例,它使用不同的参数值将锐化蒙版滤镜应用于图像。

from PIL import Image, ImageFilter

# Open the image using Pillow
original_image = Image.open('Images/Flower1.jpg')

# Apply the Unsharp Mask filter with custom parameters
sharpened_image = original_image.filter(ImageFilter.UnsharpMask(radius=4, percent=200, threshold=3))

# Display the original image
original_image.show()

# Display the sharpened image
sharpened_image.show()

输出

输入图像:

zinnia flower

使用自定义参数值应用锐化蒙版滤镜后的输出图像:

unsharpmask
广告