我有一个形状为 (3072,1) 或 (3,32,32) 的 numpy 数组的图像。这由前 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)
我只想将数组保存到实际图像中。
请您参考如下方法:
使用transposition :
x = numpy.transpose(x, (1, 2, 0))
这意味着,将原始坐标轴顺序表示为 0, 1, 2,您希望它们按 1, 2, 0 的顺序重新排列 — 即, 将第一个轴(颜色值)向右移动。
