![](/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.