我有一个形状为numpy数组(3072,1)或(3,32,32)的图像 . 这包括前1024个值对应 Red component ,后跟1024 Green component ,后跟1024 Blue component . 这1024个值对应于32x32大小的图像 . 我想知道是否有任何pythonic方式或快捷方式将此数组转换为32x32x3大小数组,以便我可以将数组保存到实际图像?
这里的问题是,如果我只是 reshape 它的大小(32x32x3)
x = numpy.reshape(x,(32,32,3))
因为原始图像是形状的(3,32,32),所以像素值会混乱,保存后我不会得到实际图像
我只想将数组保存到实际图像中 .
2 回答
使用transposition:
这意味着,表示原始轴的顺序为
0, 1, 2
,您希望它们按照1, 2, 0
的顺序重新排列 - 也就是说,将第一个轴(颜色值)移动到右侧 .你可以使用np.rollaxis: