Python NumPy заполнить 3D-массив - PullRequest
       3

Python NumPy заполнить 3D-массив

0 голосов
/ 12 сентября 2018

У меня есть необработанные данные, которые были преобразованы в значения RGB. Эти значения находятся в списке, как [R, G, B]. По сути, у меня есть [[R, G, B], ..., [R, G, B]]. Теперь я хочу сделать матрицу по ширине * высоте * 3.

rgb_list = []

for i in range(0, channel_bytes):
    r = channel_1.__getitem__(i)
    g = channel_2.__getitem__(i)
    b = channel_3.__getitem__(i)
    rgb_list.append([r, g, b])

image_matrix = np.array(rgb_list)
image_matrix.reshape(image_height, image_width, 3)
print(image_matrix)

Все еще дает мне следующий вывод:

[[22 21 13]
 [30 23 23]
 [19 23 16]
 ..., 
 [17 17 18]
 [18 17 10]
 [16 17 18]]

Но это должно быть

[[[22, 21, 13]],
 [[30, 23, 23]],
 ...,
[[16, 17, 18]]]

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Исправлено!

Он изменил матрицу, но не сохранил изменения.Это должно быть:

image_matrix = image_matrix.reshape (image_height, image_width, 3)

0 голосов
/ 12 сентября 2018
import numpy as np

L = np.asarray([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
L.reshape(1, 6, 3)

# Output:
array([[[ 1,  2,  3],
        [ 4,  5,  6],
        [ 7,  8,  9],
        [10, 11, 12],
        [13, 14, 15],
        [16, 17, 18]]])

Понятия не имею, зачем ты это делаешь ...

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