将 PIL 图像转换为 NumPy 数组

Muhammad Maisam Abbas 2023年1月30日
  1. 在 Python 中使用 numpy.array() 函数将 PIL 图像转换为 NumPy 数组
  2. 在 Python 中使用 numpy.asarray() 函数将 PIL 图像转换为 NumPy 数组
将 PIL 图像转换为 NumPy 数组

本教程将讨论在 Python 中将 PIL 图像转换为 3 维 NumPy 数组的方法。

在 Python 中使用 numpy.array() 函数将 PIL 图像转换为 NumPy 数组

PIL 用于在 Python 中对图像执行各种操作。枕头库未预先安装 Python 编程语言。因此,我们必须先安装它。下面给出了安装枕头库的命令。

pip install Pillow

如果要将 PIL 库读取的图像转换为 NumPy 数组,可以使用 numpy.array() 函数。numpy.array() 函数创建并初始化 numpy 数组。numpy.array() 函数会将 PIL 图像转换为 3 维数组。请参见以下代码示例。

import numpy as np
from PIL import Image

img = Image.open("NASA.jpg")
imgArray = np.array(img)
print(imgArray.shape)

输出:

(90, 240, 3)

在上面的代码中,我们使用 numpy.array() 函数将 PIL 图像 img 转换为三维 NumPy 数组 imgArray。我们使用 Python 中的 Image.open() 函数读取变量 img 中的图像。然后,我们在 Python 中使用 numpy.array() 函数将 img 转换为 NumPy 数组 imgArray。最后,我们使用 print() 函数打印了 imgArray 的形状。

在 Python 中使用 numpy.asarray() 函数将 PIL 图像转换为 NumPy 数组

我们还可以使用 numpy.asarray() 函数来实现与上一个示例相同的目标。numpy.asarray() 函数还创建并初始化一个 numpy 数组。通过将图像传递给 numpy.asarray() 函数,我们可以将 PIL 图像转换为 numPy 数组。请参见以下代码示例。

import numpy as np
from PIL import Image

img = Image.open("NASA.jpg")
imgArray = np.asarray(img)
print(imgArray.shape)

输出:

(90, 240, 3)

在上面的代码中,我们使用 python 中的 numpy.array() 函数将 PIL 图像 img 转换为三维 NumPy 数组 imgArray。我们在 Python 中使用 Image.open() 函数将 img 变量加载到了 img 变量中。然后,我们在 Python 中使用 numpy.asarray() 函数将 img 图像转换为 NumPy 数组 imgArray。最后,我们使用 print() 函数打印了 imgArray 的形状。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn