В настоящее время я работаю с пустым массивом, содержащим информацию о цвете пикселя формы (ширина, высота, 3).
Я хотел бы иметь возможность заменить цвета в исходном массиве цветами, описанными вновый массив и делать это БЕЗ циклов, если это возможно.
Я пытался проиндексировать его с помощью причудливых индексов, но не совсем знал, как правильно его индексировать.
Оптимально функция должна выглядеть примерно так:
>>>import numpy as np
>>>imgdat = np.random.randint(0, 255, size=(2, 2, 3))
>>>imgdat
[[[138 149 41]
[100 186 136]]
[[181 202 169]
[205 247 195]]]
>>>pixels = np.random.randint(0, imgdat.shape[0], size=(2, 2))
>>>pixels
[[1,0]
[0,1]]
>>>colors = np.random.randint(0, 255, size=(2, 3))
>>>colors
[[ 16 229 138]
[ 86 76 209]]
######apply the function#######
>>>filledimgdat = fillPixels(imgdat, pixels, colors)
>>>filledimgdat
[[[ 138 149 41]
[ 86 76 209]]
[[ 16 229 138]
[205 247 195]]]
РЕДАКТИРОВАТЬ:
Поскольку мое первоначальное описание было немного неясным, я пытаюсь заменить определенные цвета в imgdat на определенные индексы.Если кто-нибудь может придумать лучший способ отформатировать типы данных или обработать информацию, чтобы упростить такую операцию, как это, то это также приветствуется.