Python Pillow - ImageOps.posterize() 函数



PIL.ImageOps.posterize 函数用于减少图像中每个颜色通道的位数,有效地限制颜色调色板。

语法

以下是该函数的语法:

PIL.ImageOps.posterize(image, bits)

参数

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

  • image - 要进行色调分离的图像。

  • bits - 每个通道要保留的位数 (1-8)。bits 值决定每个通道的颜色级别数,范围为 1 到 8。

返回值

该函数返回一个新的图像对象,其中输入图像已使用指定的位数进行色调分离。

示例

示例 1

以下示例演示如何创建一个每个通道只有 4 位的新图像。

from PIL import Image, ImageOps

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

# Posterize the image with 4 bits per channel
posterized_image = ImageOps.posterize(input_image, bits=4)

# Display the original and posterized images
input_image.show()
posterized_image.show()

输出

输入图像

sun rays on pink flower

输出图像

imageops posterize

示例 2

这是另一个使用 PIL.ImageOps.posterize 函数处理不同图像的示例。

from PIL import Image, ImageOps

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

# Posterize the image with 2 bits per channel
posterized_image = ImageOps.posterize(input_image, bits=2)

# Display the original and posterized images
input_image.show()
posterized_image.show()

输出

输入图像

tajmahal and birds

输出图像

ops posterize

示例 3

在此示例中,代码对图像执行不同位值的色调分离。我们使用 Matplotlib 来显示结果。

from PIL import Image, ImageOps
import matplotlib.pyplot as plt

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

# Create subplots for original and posterized images
num_bits_list = [1, 2, 3, 4, 5, 6, 7, 8]

fig, axes = plt.subplots(3, 3, figsize=(10, 15))

# Display the original image
axes[0, 0].imshow(original_image)
axes[0, 0].set_title('Original Image')
axes[0, 0].axis('off')

# Perform posterization with different bit values and display the images
for idx, num_bits in enumerate(num_bits_list, start=1):
   posterized_image = ImageOps.posterize(original_image, bits=num_bits)
   
   # Display the posterized images
   axes[idx // 3, idx % 3].imshow(posterized_image)
   axes[idx // 3, idx % 3].set_title(f'Posterized {num_bits} bits')
   axes[idx // 3, idx % 3].axis('off')

plt.tight_layout()
plt.show()

输出

ops posterize image
python_pillow_function_reference.htm
广告