我有一些图像,我正在转换为3D numpy数组。我想将所有这些图像数组聚合成一个大的numpy数组(这个大数组的索引0是代表我的图像的3D numpy数组)。
这样做的最佳方式是什么?
我的图片形状如下:
(128, 128, 3) # shape of each image
[[[119 95 59]
[118 94 58]
[120 96 60]
...
[110 89 51]
[111 89 54]
[116 93 61]]
[[136 112 76]
[139 115 79]
[141 117 81]
...
[114 93 55]
[119 97 62]
[114 91 59]]
[[127 103 67]
[127 103 67]
[134 110 74]
...
[110 89 51]
[115 93 57]
[119 97 62]]
...
[[116 92 68]
[105 83 55]
[109 87 52]
...
[119 99 58]
[125 102 64]
[120 97 59]]
[[111 90 68]
[111 89 64]
[105 84 53]
...
[123 101 60]
[121 96 56]
[129 104 64]]
[[109 90 69]
[105 85 60]
[105 84 56]
...
[121 99 58]
[128 102 62]
[129 104 62]]]
答案 0 :(得分:0)
如果所有图像阵列都具有相同的形状,例如(128,128,3),那么np.stack
将很好地完成
np.stack(alist_images, axis=0)
应生成(n,128,128,3)数组。
实际上np.array(alist_images)
也应该有效,但stack
可让您选择另一个轴来加入它们,例如(128,128,3,n)
如果它抱怨维度不匹配,那么您没有匹配数组的列表。