![](/img/trans.png)
[英]How to have a partial grayscale image using Python Pillow (PIL)?
[英]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.