Python Pillow - ImageOps.Colorize() 函式



PIL.ImageOps.colorize() 函式用於將灰度影像著色。它計算一個顏色楔形,將源影像中的所有黑色畫素對映到第一種顏色,將所有白色畫素對映到第二種顏色。如果指定了中間色 (mid),則使用三色對映。黑白引數應作為 RGB 元組或顏色名稱提供。可以選擇透過包含 mid 引數來進行三色對映。對於每種顏色,可以使用諸如 blackpoint 的引數定義對映位置,該引數表示一個整數,指示應將相應顏色對映到的位置。必須為這些引數保持邏輯順序,確保 blackpoint 小於或等於 midpoint,而 midpoint 小於或等於 whitepoint(如果指定了 mid)。

語法

以下是該函式的語法:

PIL.ImageOps.colorize(image, black, white, mid=None, blackpoint=0, whitepoint=255, midpoint=127)

引數

以下是該函式引數的詳細資訊:

  • image - 要著色的灰度影像。

  • black - 用於黑色輸入畫素的顏色,指定為 RGB 元組或顏色名稱。

  • white - 用於白色輸入畫素的顏色,指定為 RGB 元組或顏色名稱。

  • mid - 用於中間色輸入畫素的顏色,指定為 RGB 元組或顏色名稱(三色對映可選)。

  • blackpoint - 整數值 [0, 255],表示黑色顏色的對映位置。

  • whitepoint - 整數值 [0, 255],表示白色顏色的對映位置。

  • midpoint - 整數值 [0, 255],表示中間色的對映位置(三色對映可選)。

返回值

該函式返回表示著色結果的影像。

示例

示例 1

這是一個使用基本引數的 ImageOps.colorize() 函式使用方法示例。

from PIL import Image, ImageOps

# Open a grayscale image
gray_image = Image.open("Images/flowers_1.jpg").convert("L")

# Define colors for mapping
red = (255, 0, 0)   
cyan = (0, 255, 255)     

# Apply colorize operation
colorized_image = ImageOps.colorize(gray_image, black=red, white=cyan)

# Display the original and colorized images
gray_image.show()
colorized_image.show()

輸出

輸入影像

輸出影像

imageops colorize

示例 2

此示例演示了使用可選的三色對映對灰度影像進行著色。

from PIL import Image, ImageOps

# Open a grayscale image
gray_image = Image.open("Images/Car_2.jpg").convert("L")

# Define colors for mapping
black_color = 'yellow'
white_color = 'red'
mid_color =  'cyan'  # color name (optional for three-color mapping)

# Define mapping positions
blackpoint = 50
whitepoint = 200
midpoint = 127

# Apply colorize operation
colorized_image = ImageOps.colorize(gray_image, black_color, white_color, mid_color, blackpoint, whitepoint, midpoint)

# Display the original and colorized images
gray_image.show()
colorized_image.show()

輸出

輸入影像

輸出影像

ops colorize

示例 3

此示例演示如何使用不同的顏色和對映位置應用 colorize 函式以實現獨特的著色結果。

from PIL import Image, ImageOps

# Open a grayscale image
gray_image = Image.open("Images/Car_2.jpg").convert("L")

# Define colors for mapping (RGB tuple)
warm_black = (10, 10, 10)  
cool_white = (200, 220, 255)  
neutral_gray = (128, 128, 128)  

# Define mapping positions
blackpoint = 30
whitepoint = 200
midpoint = 120

# Apply colorize operation with custom colors and mapping positions
colorized_image = ImageOps.colorize(gray_image, warm_black, cool_white, neutral_gray, blackpoint, whitepoint, midpoint)

# Display the original and colorized images
gray_image.show()
colorized_image.show()

輸出

輸入影像

輸出影像

ops colorize image
python_pillow_function_reference.htm
廣告