объединить массив массивов в вектор массивов - PullRequest
0 голосов
/ 28 января 2020

Я генерирую матричные представления изображений с размером высота * ширина , и мне нужно преобразовать их в вектор пикселей. Для создания изображений я использую следующую инструкцию

np.array([[np.random.randint(0, 255, 3) for dummy_row in range(height)] for dummy_col in range(width)])

например, (2x2) image

array([[[132, 235,  40],
        [234,   1, 160]],
       [[ 69, 108, 218],
        [198, 179, 165]]])

Я пытался использовать flatten (), но не создаю размерный массив пикселей, но объединяет все значения вместе

array([132, 235,  40, 234,   1, 160,  69, 108, 218, 198, 179, 165])

, когда мне требуется

array([132, 235,  40], [234,   1, 160],  [69, 108, 218], [198, 179, 165]])

есть ли встроенная функция для получения этого вывода?

1 Ответ

1 голос
/ 28 января 2020

Просто используйте:

arr.reshape(-1, n_channels)

или аналогичный (где arr - массив NumPy, содержащий данные изображения).

...