Python Pillow - ImageChops.lighter() 函数



在 Python 图像处理库 Pillow (PIL) 中,lighter 函数位于 ImageOps 模块中,提供了一种便捷的方式来逐像素比较两个输入图像,以获得一个新图像,该图像包含每个对应像素对中较亮的值。

该操作定义如下:

$$\mathrm{out\:=\:max(image1,image2)}$$

语法

以下是该函数的语法:

PIL.ImageChops.lighter(image1, image2)

参数

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

  • image1 - 第一个输入图像。

  • image2 - 第二个输入图像。

返回值

该函数的返回类型为 Image。

示例

示例 1

在此示例中,ImageChops.lighter() 函数应用于两个随机的 RGB 图像(image1 和 image2),以创建一个新图像,该图像包含两个输入图像中较亮的值。使用 getpixel() 函数观察两个输入图像和输出图像在指定位置的像素值。

from PIL import Image, ImageChops
import numpy as np

# Create two random RGB images
image1 = Image.fromarray(np.array([(35, 64, 3), (255, 0, 0), (255, 255, 0), (255, 255, 255), (164, 0, 3)]), mode="RGB")
print("Pixel values of image1 at (0, 0):", image1.getpixel((0, 0)))

image2 = Image.fromarray(np.array([(25, 14, 3), (25, 222, 0), (255, 155, 0), (255, 55, 100), (180, 0, 78)]), mode="RGB")
print("Pixel values of image2 at (0, 0):", image2.getpixel((0, 0)))

# Get the lighter values of the two images
result = ImageChops.lighter(image1, image2)
print("Pixel values of the result at (0, 0) after lighter:", result.getpixel((0, 0)))

输出

Pixel values of image1 at (0, 0): (35, 0, 0)
Pixel values of image2 at (0, 0): (25, 0, 0)
Pixel values of the result at (0, 0) after lighter: (35, 0, 0)

示例 2

在此示例中,ImageChops.lighter() 函数用于比较两个输入图像(JPEG)像素的像素值,为每个对应的像素对选择较亮的值。

from PIL import Image, ImageChops

# Open two image files
image1 = Image.open('Images/Tajmahal_2.jpg')
image2 = Image.open('Images/black-doted-butterflies.jpg')

# Compare the two images pixel by pixel and get the lighter values
result = ImageChops.lighter(image1, image2)

# Display the input and resulting images
image1.show()
image2.show()
result.show()

输出

输入图像 1

tajmahal and birds

输入图像 2

dotted butterfly

输出图像

imagechops lighter

示例 3

这是一个使用 ImageChops.lighter() 函数对两个 PNG 图像文件进行操作以获取具有较亮值的图像的示例。

from PIL import Image, ImageChops

# Open two image files
image1 = Image.open('Images/pillow-logo.png')
image2 = Image.open('Images/test_img.png')

# Compare the two images pixel by pixel and get the lighter values
result = ImageChops.lighter(image1, image2)

# Display the input and resulting images
image1.show()
image2.show()
result.show()

输出

输入图像 1

pillow logo s

输入图像 2

test img

输出图像

chops lighter
python_pillow_function_reference.htm
广告