Я хочу преобразовать numpy.ndarray:
out = [[12 12 12 ..., 12 12 12]
[12 12 12 ..., 12 12 12]
[12 12 12 ..., 12 12 12]
...,
[11 11 11 ..., 10 10 10]
[11 11 11 ..., 10 10 10]
[11 11 11 ..., 10 10 10]]
в RGB img.
Цвета взяты из массива:
colors_pal = np.array(
[0,0,128], #ind 0
[0,0,0],
....
[255,255,255]], #ind 12
dtype=np.float32)
Так, например, все пиксели с индексом 12 будут белыми (255 255 255).
Способ, которым я делаю это сейчас, очень медленный (около 1,5 сек / мм):
data = np.zeros((out.shape[0],out.shape[1],3), dtype=np.uint8 )
for x in range(0,out.shape[0]):
for y in range(0,out.shape[1]):
data[x,y] = colors_pal[out[x][y]]
img = Image.fromarray(data)
img.save(...)
Какой эффективный способ сделать это быстрее?