【问题标题】:Unexpected shape in numpy array of a pillow image?枕头图像的numpy数组中的意外形状?
【发布时间】:2020-02-26 22:25:43
【问题描述】:

我已经构建了一个神经网络来使用 MNIST 数据集检测手写数字。

网络采用 (28,28) 的输入形状,因为训练 MNIST 图像是 28x28 灰度。

我现在想用我自己的一些笔迹来测试我的神经网络。

我拥有的图像不是 28x28 灰度图像,因此我正在尝试对其进行转换,以便我的模型能够接受它们进行预测。

目前我有以下:

img = Image.open('image.png').convert('LA')
newImg = img.resize((28,28), Image.ANTIALIAS)
toPredict = np.array(new_img)

但是,这给了我一个 numpy 形状的数组 (28, 28, 2) 我不明白这一点。

转换为灰度并调整大小后,我应该有一个 28x28 形状的阵列(28 像素高乘以 28 像素宽)。

我不明白为什么形状不是那样。

谁能帮我将形状设为 28x28(并解释为什么还没有),以便我可以将其传递给我的神经网络?

谢谢!

【问题讨论】:

  • 变量和函数名应该遵循lower_case_with_underscores风格。

标签: python python-3.x tensorflow neural-network python-imaging-library


【解决方案1】:

你快到了。 img = Image.open('image.png').convert('LA') 是 28x28x2,因为它是带有 Alpha 通道的灰度。 而是将其转换为灰度:

img = Image.open('image.png').convert('L')

您可以在此处查看有关这些模式的更多信息: https://pillow.readthedocs.io/en/latest/handbook/concepts.html#modes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 2022-12-05
    • 2020-10-03
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多