【问题标题】:Shape of numpy array when converting from PIL image从 PIL 图像转换时 numpy 数组的形状
【发布时间】:2017-05-30 18:06:58
【问题描述】:

当我使用

将 PIL 图像转换为 numpy 数组时
image = Image.open(file_path)
image_array = numpy.array(image)

有时我会得到一个尺寸等于图像尺寸的二维数组。其他时候我得到一个 3D 数组,每个条目都是一个像素数组(即 [RRR,GGG,BBB])。其他时候我得到一个 3D 数组,每个条目都是一个有 4 个值的数组(即 [RRR,GGG,BBB,XXX])。什么决定了 numpy 数组的形状?如果是二维数组,这些条目代表什么?

【问题讨论】:

    标签: python arrays numpy python-imaging-library


    【解决方案1】:

    回答了我自己的问题:

    numpy 数组的形状由 PIL 图像的模式决定。可以在here 找到完整的模式列表。当图像的模式为 1、L 或 P 时,将创建一个 2D 数组。否则,将创建一个 3D 数组,其值类似于该模式表示的值。

    【讨论】:

      猜你喜欢
      • 2017-06-25
      • 1970-01-01
      • 2010-09-27
      • 2020-02-17
      • 2011-02-15
      • 2019-11-29
      • 2021-12-09
      • 2019-02-26
      • 1970-01-01
      相关资源
      最近更新 更多