Python Pillow - ImageOps.solarize() 函数



PIL.ImageOps.solarize 函数用于反转灰度图像中超过指定阈值的像素值。

语法

以下是函数的语法:

PIL.ImageOps.solarize(image, threshold=128)

参数

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

  • image - 要进行太阳化的图像。

  • threshold - 所有高于此灰度级别的像素都将被反转。默认阈值设置为 128,这意味着强度值大于 128 的像素将被反转。

返回值

该函数返回一个新的图像对象,其中超过指定阈值的像素值已被反转。

示例

示例 1

在此示例中,ImageOps.solarize 函数用于反转输入图像中高于默认阈值 128 的像素值。

from PIL import Image, ImageOps

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

# Solarize the image with the default threshold
solarized_image = ImageOps.solarize(input_image)

# Display the original and solarized images
input_image.show()
solarized_image.show()

输出

输入图像

butterfly on flower

输出图像

imageops solarize

示例 2

以下是用不同的图像和不同的阈值使用 PIL.ImageOps.solarize() 函数的另一个示例。

from PIL import Image, ImageOps

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

# Solarize the image with a specific threshold
solarized_image = ImageOps.solarize(input_image, threshold=100)

# Display the original and solarized images
input_image.show()
solarized_image.show()

输出

输入图像

tajmahal birds

输出图像

ops solarize

示例 3

在此示例中,代码使用不同的阈值对图像进行太阳化,并使用 Matplotlib 显示结果。

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

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

# Define three different thresholds
thresholds = [0, 50, 100]

# Create subplots for original and solarized images
num_thresholds = len(thresholds) + 1 
fig, axes = plt.subplots(2, 2, figsize=(10, 8))
ax = axes.ravel()

# Display the original image
ax[0].imshow(input_image)
ax[0].set_title('Original Image')
ax[0].axis('off')

# Solarize the image with different thresholds and display the results
for idx, threshold in enumerate(thresholds, start=1):
   solarized_image = ImageOps.solarize(input_image, threshold=threshold)
   
   # Display the solarized images
   ax[idx].imshow(solarized_image)
   ax[idx].set_title(f'Solarized (Threshold = {threshold})')
   ax[idx].axis('off')

plt.tight_layout()
plt.show()

输出

ops solarize image
python_pillow_function_reference.htm
广告