将2D阵列(灰度图像)转换为3D(RGB图像)阵列

时间:2019-08-20 15:31:07

标签: numpy

我有一个灰度图像作为2d numpy数组。我想将其转换为3d numpy数组的RGB图像。

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

result = ?

我不知道该怎么做。

我需要为唯一数据放入唯一的颜色(RGB值)。 输出形状将为(25,25,3)。

1 个答案:

答案 0 :(得分:0)

制作查找表并通过高级索引使用它:

lookup = np.zeros((255,3),dtype=np.uint8)
lookup[uniq_data] = colors
rgb = lookup[data]