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

2024-10-01 09:33:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我找到了以下链接:Python colour to greyscale

然而,我想做相反的事情。Pyython是否可以实现这一点(最好使用PIL,但也欢迎其他选项,如matplotlib)?在

我需要在一个灰色的png图像,我想转换成彩虹尺度(最好是去饱和彩虹,但不是必要的)。这些图像最初来自c代码,它生成0到256之间的数字并将其转换为灰色调。我想把这些值线性映射到彩色地图上(但是我现在只能访问png图像,不再访问c代码)。那么,有没有一种方法可以将白色映射为蓝色,黑色映射为红色,并将彩虹的所有颜色置于两者之间?在


Tags: to代码图像pilpngmatplotlib链接选项
1条回答
网友
1楼 · 发布于 2024-10-01 09:33:51

从颜色到灰色的映射是不可逆的。因此,您确实需要像matplotlib colormaps那样定义一些颜色映射。在

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()

enter image description here

相关问题 更多 >