为了账号安全,请及时绑定邮箱和手机立即绑定

无法将 numpy 数组重塑为 RGB 图像

无法将 numpy 数组重塑为 RGB 图像

守着星空守着你 2023-07-11 10:52:36
我有一个 numpy 数组,其中包含 CIFAR10 数据集中的所有图像: (50000, 3072)我从中取出一个数组,(3072,) 然后尝试将其形状转换为 RGB 图像 .reshape(32, 32, 3)但是当我将它传递给 plt.show() 时,它显示类似的内容我不确定为什么它没有正确显示图像,我也尝试过, .reshape(3, 32, 32)但它TypeError: Invalid shape (3, 32, 32) for image data在绘图时给出我如何正确地重塑它?
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您应该尝试np.swapaxes()获得有效的形状来plt.imshow()接受。

import numpy as np
dd = np.array([1]*3072).reshape(3, 32, 32)
dd1 = np.swapaxes(dd, 0, 2)

尝试 plt.imshow(dd1)看看会发生什么。(使用您自己的数据):p

首先,您应该使用 (3, 32, 32) 重塑,这是由数据的顺序决定的。

然后你必须显示重塑图像,但plt.imshow()只接受形状为 (M, N) 或 (M, N, 3) 或 (M, N, 4) 的数组,所以你现在必须交换轴,因为重塑数据是(3、32、32)。


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信