Как сделать 2D-массив (взять пиксельные цвета из рамки) - PullRequest
0 голосов
/ 21 марта 2019

Я новичок в Python и мне нужен такой массив (2D):

a = np.array([[161, 141, 129],
              [161, 141, 129],
              [162, 142, 130],
              [170, 168, 187],
              [165, 169, 182]])

И у меня есть такой массив:

array([[[161, 141, 129],
    [161, 141, 129],
    [162, 142, 130],
    ...,
    [170, 168, 187],
    [165, 169, 182],
    [165, 169, 182]],

   [[171, 143, 134],
    ...,
    [162, 169, 187]],
   ...,
   [[ 55,  29,  41],
    ...,
    [ 64,   7,   0]]], dtype=uint8)

Я читал кое-что оформирование массива, но я не получаю его работыКак мне получить из этого новый 2D-массив?

Исходный массив имеет форму 640x480x3 (ось X, ось Y, цвет RGB). Любая помощь приветствуется.

Цель состоит в том, чтобы все значения RGB были в 2D-массиве, чтобы я мог вызвать scipy.spatial.distance.cdist с этими значениями.

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Наконец нашли решение:

a = a.reshape(1,-1)
a = a.reshape(int(len(a[0])/3),-1)
0 голосов
/ 21 марта 2019

красный - это [:,:, 0] Зеленый это [:,:, 1] Etc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...