簡體   English   中英

使用 Pillow 為灰度圖像着色

[英]Colourize a grayscale image using Pillow

我有一個使用 Pillow 創建的灰度圖像——它的模式L我想將它保存為單一顏色的陰影,這樣它就不是從黑色到白色的陰影,而是從青色到白色的陰影。

所以,假設我正在這樣做:

from PIL import Image, ImageOps

i = Image.open("old_img.jpg")
g = ImageOps.grayscale(i)
g.save("new_img.jpg")

我該怎么做才能將其保存為青色到白色,而不是黑色到白色? 對於洋紅色到白色和黃色到白色的其他灰度圖像,我也會做類似的事情。

將圖像轉換為“L”模式(亮度、灰度),然后使用.colorize()方法而不是.grayscale() () 方法:

from PIL import Image, ImageOps

i = Image.open("old_img.jpg").convert("L")
g = ImageOps.colorize(i, black="cyan", white="white")
g.save("new_img.jpg")

或者只是添加命令

g = ImageOps.colorize(g, black="cyan", white="white")

應用.grayscale(i)方法后(因為它也將圖像轉換為“L”模式):

from PIL import Image, ImageOps

i = Image.open("old_img.jpg")
g = ImageOps.grayscale(i)
g = ImageOps.colorize(g, black="yellow", white="white")
g.save("new_img.jpg")

您可以在.colorize()方法的black=參數中設置其他所需的顏色。

您可以使用matplotlib.imshow做到這一點:

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

i = Image.open("frog.jpg")
g = ImageOps.grayscale(i)

fig, ax = plt.subplots(1, 1)
ax.imshow(np.array(g), cmap=plt.cm.Blues)
plt.show()

結果:

青蛙的原始圖像藍色的青蛙

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM