将 NumPy 数组转换为图像

2024 年 12 月 12 日 | 阅读 4 分钟

NumPy,有时也称为 Numeric Python,是用于数组操作的一个流行库。由于图像只是由具有不同颜色代码的像素组成的集合,因此可以使用 NumPy 将数组转换为图像。除了 NumPy,还将使用 PIL(通常称为 Pillow)来处理和存储数组。

在接下来的教程中,我们将学习如何将 NumPy 数组转换为图像。

理解 NumPy 数组转换为图像的方法

以下是将 NumPy 数组转换为图像的步骤

步骤 1:首先,我们将创建一个 NumPy 数组。

步骤 2:之后,我们将调整数组的大小,如上所述,使其具有正确的尺寸。

步骤 3:数组调整大小后,我们就可以使用 PIL 库根据上述方法从数组创建图像对象了。

步骤 4:最后,我们将图像对象保存为适当的文件格式。

为了在没有代码的情况下将 NumPy 数组转换为图像,我们可以利用各种图像处理软件或提供图形用户界面 (GUI) 的工具。

以下是一般步骤,您可以遵循:

  • 选择一个图像编辑软件:安装并打开一个图像编辑软件,如 Adobe Photoshop、GIMP (GNU Image Manipulation Program) 或更简单的工具,如 Paint 或 Microsoft Paint 3D。
  • 创建一个新图像:在软件中打开一个新图像。创建新图像的选项通常在“文件”菜单中。
  • 设置尺寸:将新图像的尺寸(宽度和高度)设置为与 NumPy 数组的形状匹配。例如,如果您的 NumPy 数组是 400x200 像素,则相应地设置图像尺寸。
  • 选择油漆桶或填充工具:大多数图像编辑软件都提供“油漆桶”或“填充”工具。选择此工具。
  • 导入 NumPy 数组数据:使用填充工具手动将新图像的每个像素与 NumPy 数组中相应的颜色值进行填充。对于大型数组,这可能是一个繁琐的过程。
  • 保存图像:填充完所有像素后,使用“文件”菜单中的“保存”或“导出”选项将图像保存为您首选的格式(例如 PNG、JPEG)。
  • 指定图像格式:保存图像时,请务必指定合适的图像格式,并在必要时调整任何压缩设置。
  • 调整颜色深度(如果需要):根据您的图像编辑软件,您可能有选项来更改图像的颜色深度或颜色模式。例如,您可以将灰度 NumPy 数组转换为灰度图像,或将 RGB 数组转换为全彩色图像。
  • 应用滤镜或增强功能(可选):图像编辑软件通常提供各种滤镜、效果和增强功能,您可以应用于您的图像。您可以调整亮度、对比度、锐度等,以增强图像的外观。
  • 添加文本或注释(可选):如果您的图像需要文本或注释,您可以使用图像编辑软件中的文本工具添加标签、标题或其他文本信息。
  • 调整大小或裁剪(可选):您可以使用软件中的裁剪或调整大小工具根据需要更改图像的大小和构图。
  • 保存您的最终图像:对图像满意后,请再次保存,以确保您的更改已保存。

Python 中 NumPy 数组转换到图像的实现

现在我们将看一段代码片段,演示如何使用 Python 程序将 NumPy 数组转换为图像。

代码

输出

<class 'numpy.ndarray'>
(737280,)
(1024, 720)
[[ 0   1   2 ... 205 206 207]
 [208 209 210 ... 157 158 159]
 [160 161 162 ... 109 110 111]
 ...
 [144 145 146 ...  93  94  95]
 [ 96 97  98 ...  45  46  47]
 [ 48  49  50 ... 253 254 255]]

Convert a NumPy Array to an Image

注意:图像中的每个像素都有一个唯一的颜色代码。因此,并非所有数组都可以转换为图像。此外,如果给定的数组格式不正确,库将无法正确处理它。