gpt4 book ai didi

python - 有没有办法将数字转换为颜色

转载 作者:行者123 更新时间:2023-12-01 00:04:41 28 4
gpt4 key购买 nike

我正在做一个射电天文学项目,我必须将数据从测量辐射的输入输入到我的电脑。当输入指向大型辐射源(如太阳)时,输入将收到较高的值,否则输入将收到较低的值。值范围从 0 到 9。

示例输入如下所示:

1221211
1332331
1489841
1699971
1489841
1332331
1221211

包含较高值的数组中间应映射到较亮的像素,而较低的值应相应映射到较暗的像素。

这些数字可以使用任何Python库读取,并替换为具有相应数字值的像素。

最佳答案

您可以使用colourmaps来自 matplotlib 为此 - 这是您的数据的示例:

代码:

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

inpt = np.array([[1, 2, 2, 1, 2, 1, 1],
[1, 3, 3, 2, 3, 3, 1],
[1, 4, 8, 9, 8, 4, 1],
[1, 6, 9, 9, 9, 7, 1],
[1, 4, 8, 9, 8, 4, 1],
[1, 3, 3, 2, 3, 3, 1],
[1, 2, 2, 1, 2, 1, 1]])

norm = mpl.colors.Normalize(vmin=0, vmax=9)
plt.imshow(inpt, cmap='hot', norm=norm)

输出:

enter image description here

要获取 RGBA 值的元组,只需使用,例如:

>>> cmap = plt.cm.hot
>>> cmap(norm(5))
(0.0, 0.7110320290467349, 1.0, 1.0)
>>> mpl.colors.rgb2hex(cmap(norm(5))) # Hex Code
'#ff8000'

关于python - 有没有办法将数字转换为颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60058789/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com