Я читал о индексировании numpy, но я не нашел то, что искал.numpy get 2d array, где последний размер индексируется в соответствии с массивом 2d
У меня есть изображение 288 * 384, где каждый пиксель может иметь маркировку в [0,15]. Он хранится в 3d (288,384,16) -образном массиве numpy im
.
С im[:,:,1]
, можно, например, получить изображение, в котором все пиксели имеют метку 1.
У меня есть другой 2d массив labelling
, (288 * 384) -образный, содержащий метку для каждого пикселя.
Как получить изображение, в котором каждый пиксель имеет соответствующий пиксель, используя некоторые умные нарезки?
Использование петель, которые бы:
result = np.zeros((288,384))
for x,y in zip(range(288), range(384)):
result[x,y] = im[x,y,labelling[x,y]]
Но это, конечно, неэффективное.
Прогресс? это сработало? ... в случае, если вы не знаете, как принимать ответы, см. [здесь] (http://meta.stackoverflow.com/a/251399/4367286) – plonser