如何在 python 中将灰度更改为彩色?

How to change grayscale to colour in python?

我找到了以下 link:Python colour to greyscale

然而,我想做相反的事情。使用 Python 是否可行(最好使用 PIL,但也欢迎使用其他选项,例如 matplotlib)?

我需要读取灰度 png 图像,我想将其转换为彩虹比例(最好是去饱和的彩虹,但不是必需的)。这些图像最初来自生成 0 到 256 之间的数字并将其转换为灰色调的 c 代码。我现在想将这些值线性映射到颜色映射(但我目前只能访问 png 图像,而不能再访问 c 代码)。那么有没有办法将白色映射到蓝色,黑色映射到红色,彩虹的所有颜色都介于两者之间?

从颜色到灰色的映射是不可逆的。所以你确实需要像 matplotlib 颜色映射那样定义一些颜色映射。

import matplotlib.pyplot as plt

# generate gray scale image
import scipy.misc
face = scipy.misc.face()
plt.imsave("face.png", face.mean(2), cmap="gray")

# read in image
im = plt.imread("face.png")
# plot image in color
plt.imshow(im.mean(2), cmap="jet_r")
#save image in color
plt.imsave("color.png", im.mean(2), cmap="jet_r")
plt.show()