Python:将1乘28乘28的阵列转换为28乘28的矩阵

时间:2015-05-12 02:07:33

标签: python arrays numpy matplotlib

我有一个灰度图像存储为1×28×28阵列(uint8),我想用matplotlib显示。

相关代码如下:

import matplotlib.pyplot as plt

image = get_image()
print image.shape    # prints (1, 28, 28)
plt.imshow(image)

此代码会生成TypeError: Invalid dimensions for image data

要与imshow()兼容,我需要将数组挤压为28 x 28(删除冗余尺寸)或将2D矩阵(28 x 28)复制到3(RGB)或4(RGBA)频道。

我的偏好是使用第一种方法,但squeeze()不会删除多余的维度。

如何将1×28×28阵列转换为28×28矩阵?

2 个答案:

答案 0 :(得分:1)

你可以通过挤压或重塑:

 imshow(np.squeeze(image))


 imshow(image.reshape((28,28))

答案 1 :(得分:1)

image = image[0]

非常简单。