在 Python 中将 NumPy 数组保存为图像
在 Python 中,numpy 模块用于处理数组。Python 中有许多可用的模块,这些模块使我们可以读取和存储图像。
可以将图像视为存储在具有相应颜色代码的特定位置的不同像素的数组。因此,我们可能会遇到需要将数组转换并保存为图像的情况。
在本教程中,我们将讨论如何将 numpy 数组另存为图像。
使用 Image.fromarray()
函数将一个 numpy 数组另存为图像
fromarray()
函数用于从导出数组的对象创建图像内存。然后,我们可以通过提供所需的路径和文件名将图像内存保存到我们所需的位置。
例如,
import numpy as np
from PIL import Image
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
im = Image.fromarray(array)
im.save("filename.jpeg")
我们首先创建一个存储 RGB 颜色代码的数组,然后将其导出。我们可以在文件名中指定图像的所需格式。可以是 jpeg
,png
或任何其他常用的图像格式。这对于下面讨论的所有方法都是很常见的。
使用 imageio.imwrite()
函数将一个 numpy 数组另存为图像
较早之前,scipy 模块具有 imsave()
函数,可将 numpy 数组另存为图像。但是,在最近的版本中,它已被弃用,并且开始推荐使用 image.io()
中的 imwrite()
函数来执行此任务,并因其简单性而广受欢迎。
以下代码显示了如何使用此函数。
import imageio
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
imageio.imwrite("filename.jpeg", array)
使用 matplotlib.pyplot.imsave()
函数将一个 NumPy 数组另存为图像
matplotlib 模块有多种函数可用于处理图像。
imsave()
函数可以将数组另存为图像文件。
例如,
import matplotlib.pyplot as plt
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
plt.imsave("filename.jpeg", array)
使用 cv2.imwrite()
函数将一个 numpy 数组另存为图像
OpenCV 模块通常用于 Python 中的图像处理。该模块中的 imwrite()
函数可以将一个 numpy 数组导出为图像文件。
例如,
import cv2
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
cv2.imwrite("filename.jpeg", array)
相关文章
在 Python 中将 Tensor 转换为 NumPy 数组
发布时间:2024/03/12 浏览次数:118 分类:Python
-
在 Python 中,可以使用 3 种主要方法将 Tensor 转换为 NumPy 数组:Tensor.numpy()函数,Tensor.eval()函数和 TensorFlow.Session()函数。
Python NumPy 中的逐元素除法
发布时间:2024/03/12 浏览次数:177 分类:Python
-
有两种主要方法可用于在 Python 中对 NumPy 数组执行逐元素除法,即 numpy.divide() 函数和 / 运算符。
如何在 Matplotlib Pyplot 中显示网格
发布时间:2024/02/04 浏览次数:128 分类:Python
-
本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。
在 Matplotlib 中的图中添加文字
发布时间:2024/02/04 浏览次数:152 分类:Python
-
本教程展示了我们如何使用 plt.text()方法在 Matplotlib 中为图或轴添加文字。
如何在 Matplotlib 中的多个线条之间进行填充
发布时间:2024/02/04 浏览次数:191 分类:Python
-
`fill_between()` 每次只能填充两条线之间的区域,但是我们可以选择一对行来填充多个线条之间的区域。
如何在 Matplotlib 中画一条任意线
发布时间:2024/02/04 浏览次数:155 分类:Python
-
本教程讲解了我们如何在 Matplotlib 中使用 matplotlib.pyplot.plot()、matplotlib.pyplot.vlines()、matplotlib.pyplot.hlines()方法和 matplotlib.collection.LineCollection 绘制任意线条。
Pandas 在 Matplotlib 柱状图上绘制多列图
发布时间:2024/02/04 浏览次数:174 分类:Python
-
在本教程中,我们将探讨如何使用 `DataFrame` 对象的 `plot()` 方法在柱状图上绘制多列。
如何在 Matplotlib 中绘制数据列表的直方图
发布时间:2024/02/04 浏览次数:167 分类:Python
-
本教程介绍了如何使用 plt.hist()方法从数据列表中绘制直方图。我们可以使用 plt.hist()方法从数据列表中绘制直方图。
Matplotlib 中的叠加条形图
发布时间:2024/02/04 浏览次数:172 分类:Python
-
本教程展示了如何使用 plt.bar()方法将某些数据集的条形图堆叠在另一个数据集上。我们在 Matplotlib 中使用 matplotlib.pyplot.bar()方法生成条形图。