我有原始数据,已转换为RGB值。这些值在[R,G,B]之类的列表中。因此,基本上我有[[R,G,B],...,[R,G,B]]。现在,我想按width * height * 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]]]
答案 0 :(得分:0)
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]]])
不知道你为什么要这么做...
答案 1 :(得分:0)
已修复!
它重塑了矩阵,但没有保存更改。应该是:
image_matrix = image_matrix.reshape(image_height,image_width,3)