无效的尺寸错误MatplotLib

时间:2016-04-17 21:26:16

标签: python numpy matplotlib

我是Python中的图像工作的新手,我正在努力使用matplotlib来显示图像。

问题:

我有一个形状为(3072, )的numpy数组。我认识到这个数组代表的图像应该有3个通道(RGB)和32x32像素的图像。因此,我将图像重新塑造成(3, 32, 32)形状。

crab.shape
> (3072, )

crab.reshape((3, 32, 32))
crab.shape
> (3, 32, 32)

matplotlib.pyplot.imshow(crab)
> TypeError: Invalid dimensions for image data

当我尝试使用matplotlib绘制此图时,我收到以下错误:Invalid dimensions for image data

我是否错误地调整了此图片的大小?任何帮助将非常感激。感谢

1 个答案:

答案 0 :(得分:0)

尝试重塑为32 x 32 x 3:

crab.reshape((32, 32, 3))

现在这可能不会产生正确的图像,具体取决于数据来自何处以及保存的顺序,但它应该修复您显示的错误。

如果图像不正确,请尝试一次绘制一个波段,以确定哪个图像平面对应于哪个索引。