Python Pillow - ImageOps.equalize() 函数



PIL.ImageOps.equalize() 函数用于均衡图像的直方图,这意味着调整图像中像素的强度值,使直方图更加均匀。

语法

以下是该函数的语法:

PIL.ImageOps.equalize(image, mask=None)

参数

以下是此函数参数的详细信息:

  • image - 要均衡的图像。这是将应用直方图均衡的输入图像。

  • mask - 可选掩码。如果提供,则只有掩码选择的像素包含在分析中。掩码用于将均衡限制在图像的特定区域。

返回值

图像 - 该函数返回一个新的图像对象,其中直方图已均衡。均衡过程旨在在输出图像中创建灰度值的均匀分布。

示例

示例 1

以下是如何使用 ImageOps.equalize() 函数均衡输入图像直方图的示例。

from PIL import Image, ImageOps

# Open an image file
input_image = Image.open("Images/Car_2.jpg")

# Apply histogram equalization
equalized_image = ImageOps.equalize(input_image)

# Display the original and equalized images
input_image.show()
equalized_image.show()

输出

输入图像

balck and yellow car

输出图像

imageops equalize

示例 2

此示例演示如何使用直方图均衡和掩码来选择性地增强输入图像的对比度。

from PIL import Image, ImageOps, ImageDraw

# Open an image file
input_image = Image.open("Images/Car_2.jpg")

# Define a mask
mask = Image.new("L", input_image.size, 0)
draw = ImageDraw.Draw(mask)
draw.ellipse((140, 50, 260, 170), fill=255)

# Apply histogram equalization with the mask
equalized_image = ImageOps.equalize(input_image, mask)

# Display the original and equalized images
input_image.show()
equalized_image.show()

输出

输入图像

balck and yellow car

输出图像

ops equalize

示例 3

这是另一个使用矩形掩码限制输入图像直方图均衡的示例。

from PIL import Image, ImageOps, ImageDraw

# Open an image file
input_image = Image.open("Images/Car_2.jpg")

# Define a mask (you can create a mask using various techniques)
mask = Image.new("L", input_image.size, 0)
draw = ImageDraw.Draw(mask)
draw.rectangle([(100, 100), (300, 300)], fill=255)

# Apply histogram equalization with the mask
equalized_image = ImageOps.equalize(input_image, mask=mask)

# Display the original, and equalized image 
input_image.show()
equalized_image.show()

输出

输入图像

balck and yellow car

输出图像

ops equalize image
python_pillow_function_reference.htm
广告