我有一个来自自动编码器解码器层的 256*256*3 numpy 数组“SP”,我想将其保存并打开为 .jpg 图像。我使用了类似以下python代码片段的东西:
img = Image.fromarray(SP, 'RGB')
img.save('my.jpg')
img.show()
但是我注意到数组“img”的尺寸是 256*256,图像只是一个噪音。显示图像的正确方法是什么?我已将数组附加为 output.npy 文件:---> https://ufile.io/410iu
我有一个来自自动编码器解码器层的 256*256*3 numpy 数组“SP”,我想将其保存并打开为 .jpg 图像。我使用了类似以下python代码片段的东西:
img = Image.fromarray(SP, 'RGB')
img.save('my.jpg')
img.show()
但是我注意到数组“img”的尺寸是 256*256,图像只是一个噪音。显示图像的正确方法是什么?我已将数组附加为 output.npy 文件:---> https://ufile.io/410iu
没错。您看到的大小是图像的帧大小,即高度和宽度。它不是指彩色图像数组的维数。要看到它试试这个
rgb = np.zeros((255, 255, 3), dtype=np.uint8)
img = Image.fromarray(rgb, 'RGB')
r = img.getchannel("R")
g = img.getchannel("G")
b = img.getchannel("B")
print(np.array(r.getdata()))
print(np.array(g.getdata()))
print(np.array(b.getdata()))
输出在哪里
[ 0 1 2 ... 252 253 254]
[55 55 55 ... 55 55 55]
[ 1 0 255 ... 5 4 3]
所以你有 3 个维度(或颜色)。关于噪音的重点在于dtype=np.uint8。将您的数组转换为此,它将起作用。
你也可以简单地尝试
from scipy.misc import imsave
imsave("file_name.jpg", SP)
它完成了这项工作。
祝你好运!