OpenCV 的 imwrite() 函数

Manav Narula 2023年1月30日 2022年7月12日
  1. 使用 OpenCV 库中的 imwrite() 函数
  2. 结论
OpenCV 的 imwrite() 函数

图像在 Python 中被处理为 numpy.ndarrays,这些数组是三维的,表示图像像素的值。使用不同的库和方法,我们可以在 Python 中高效地读取和处理图像。

一个这样的库是 OpenCV 库,它可以使用其功能和类轻松处理图像。本教程将演示如何使用 OpenCV 库的 imwrite() 函数。

使用 OpenCV 库中的 imwrite() 函数

imwrite() 函数将图像保存到给定的路径位置。如前所述,图像存储为数组,使用此函数,我们可以将这些图像导出并保存在设备上。

它接受三个参数。第一个参数包含文件名和路径。请注意,应在文件名中指定保存图像的格式(PNG、JPEG 等)。

第二个参数包含需要保存的所需图像。该图像应该是一个 numpy.ndarray 对象。如果图像文件被正确保存,imwrite() 函数返回 True;否则,它返回 False

示例代码:

import cv2

i = cv2.imread('deftstack.png')
img = cv2.cvtColor(i, cv2.COLOR_BGR2HSV)
cv2.imwrite('save.png',img)

输出:

True

在上面的示例中,我们使用 imread() 函数读取给定图像。然后,我们使用 cvtColor 函数对图像执行一项任务(我们将其从 RGB 颜色空间转换为 HSV 颜色空间)。

最后,我们使用 imwrite() 函数将该图像保存在指定目录中。请注意,文件中图像的格式是 PNG,我们可以使用任何支持的格式,例如 BMPJPEGWebP 等。

另外要记住的是,这个函数只保存 8 位单通道或 BGR 排序的 3 通道图像,少数例外。这些例外包括 16 位无符号、32 位浮点数、多个图像的 Map 矢量以及具有只能以某些允许格式保存的 alpha 通道的 PNG 图像。

每种不受支持的格式都会自动转换为 8 位无符号图像。

结论

在本教程中,我们讨论了 opencv 库的 imwrite() 函数。我们演示了此函数如何接受参数以及如何使用它在 Python 中保存图像。

我们还讨论了此函数可以使用的图像格式以及它如何处理不受支持的格式。

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn