Numpy 将二维阵列(灰度图像)转换为三维阵列(rgb图像)
我有一个灰度图像作为2d numpy数组。我想把它转换成RGB图像作为3d numpy阵列 RGB颜色是随机产生的Numpy 将二维阵列(灰度图像)转换为三维阵列(rgb图像),numpy,Numpy,我有一个灰度图像作为2d numpy数组。我想把它转换成RGB图像作为3d numpy阵列 RGB颜色是随机产生的 import numpy as np data = np.random.randint(low=0, high=255, size=(25, 25)) uniq_data = np.unique(data) print (uniq_data) colors = np.random.randint(low=0, high=255, size=(len(uniq_data), 3))
import numpy as np
data = np.random.randint(low=0, high=255, size=(25, 25))
uniq_data = np.unique(data)
print (uniq_data)
colors = np.random.randint(low=0, high=255, size=(len(uniq_data), 3))
result = ?
我想不出怎么做
我需要为唯一的数据设置唯一的颜色(RGB值)。
输出形状为(25,25,3)。制作一个查找表并通过高级索引使用它:
lookup = np.zeros((255,3),dtype=np.uint8)
lookup[uniq_data] = colors
rgb = lookup[data]
np.random.randint(…,size=(25,25,3))
@MarkSetchell这将是预期的结果形状。但是,如何通过为唯一的数据指定唯一的颜色(RGB值)将真实的数据转换为该形状?它起作用了,但无法理解如何进行?什么是255
?@Col我不明白。“255是什么意思?”?不管怎样,也许从阅读开始,我的意思是,为什么np.zero((255,3)
?有255
@Col对不起,我还是不明白。3代表rgb,255代表255灰度。你是想创建256吗?你必须输入high=256。