如何将 numpy.ndarray 数据转换为所需的图像格式?

How to convert the numpy.ndarray data to required image format?

我有一个 numpy.ndarray 格式的数据,例如 [45 42 35 ... 53 29 31](1x3072 numpy uint8 数组)数组的哪一行存储 32x32 彩色图像。前 1024 个条目包含红色通道值,接下来的 1024 个条目包含绿色通道值,最后 1024 个条目包含蓝色通道值。

我想将该 ndarray 图像转换为 jpg 格式的 32x32 彩色图像。 尝试了很多选项,但似乎 valid/proper 图像未创建。

有什么建议可以将图像转换为 32x32 形状吗?

from PIL import Image
import numpy as np

img_data=[45 42 35 ... 53 29 31] 
data_2 = np.resize(img_data,(32,32,3))
img = Image.fromarray(data_2,'RGB')
img.save('./my.png')

这个?

from PIL import Image
import numpy as np

img_data=[45 42 35 ... 53 29 31] 
data_2 = np.swapaxes(np.resize(img_data,(3,32,32)),0, 2)
img = Image.fromarray(data_2,'RGB')
img.save('./my.png')