Python Pillow - ImageChops.logical_or() 函数



Python 图像处理库 Pillow (PIL) 在其 ImageChops 模块中提供了多个函数,用于对图像执行算术运算。

PIL.ImageChops.logical_or() 函数对两个输入图像的对应像素执行逻辑或运算。两个输入图像都必须具有“1”模式,表示二进制(黑白)图像。

逻辑或运算定义如下:

$$\mathrm{out\:=\:((image1\:or\:image2)\% MAX)}$$

语法

以下是函数的语法:

PIL.ImageChops.logical_or(image1, image2)

参数

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

  • image1 - 第一个输入二进制图像,模式为“1”。

  • image2 - 第二个输入二进制图像,模式为“1”。

返回值

此函数的返回类型为 Image。

示例

示例 1

以下示例使用 ImageChops.logical_or() 函数对两个二进制图像执行逻辑与运算,这两个二进制图像由 NumPy 数组创建。

from PIL import Image, ImageChops
import numpy as np

# Create two binary images with mode "1"
array1 = np.array([(255, 64, 3), (255, 0, 0), (255, 255, 0), (255, 255, 255), (164, 0, 3)], dtype=np.uint8)
array2 = np.array([(20, 14, 3), (25, 222, 0), (255, 155, 0), (255, 55, 100), (180, 0, 78)], dtype=np.uint8)

image1 = Image.fromarray(array1, mode="1")
image2 = Image.fromarray(array2, mode="1")

# Display the pixel values of the two input images
print("Pixel values of image1 at (0, 0):", image1.getpixel((0, 0)))
print("Pixel values of image2 at (0, 0):", image2.getpixel((0, 0)))

# Perform logical OR between the two images
result = ImageChops.logical_or(image1, image2)

# Display the pixel values of the resulting image at (0, 0)
print("Pixel values of the result at (0, 0) after logical OR:", result.getpixel((0, 0)))

输出

Pixel values of image1 at (0, 0): 255
Pixel values of image2 at (0, 0): 0
Pixel values of the result at (0, 0) after logical OR: 255

示例 2

在此示例中,PIL.ImageChops.logical_or() 函数用于对两个二进制图像(image1 和 image2)执行逻辑或运算。

from PIL import Image, ImageChops

image1 = Image.open('Images/dark_img1.png').convert('1')
image2 = Image.open('Images/dark_img2.png').convert('1')

# Perform logical OR between the two images
result = ImageChops.logical_or(image1, image2)

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

输出

输入图像 1

dark img1

输入图像 2

dark img2

输出图像

imagechops logical or

示例 3

以下是将 logical_or() 函数应用于不同输入图像集的另一个示例。

from PIL import Image, ImageChops

# Create two binary images with mode "1"
image1 = Image.open('Images/Car_2.jpg').convert('1')
image2 = Image.open('Images/ColorDots.png').convert('1')

# Perform logical OR between the two images
result = ImageChops.logical_or(image1, image2)

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

输出

输入图像 1

car bw

输入图像 2

dots bw

输出图像

chops logical or
python_pillow_function_reference.htm
广告