python cv2.imwrite

python cv2.imwrite

python cv2.imwrite

1. 介绍

本文将详细解释使用Python中的OpenCV库中的cv2.imwrite函数来保存图像。我们将学习如何使用cv2.imwrite函数保存图像,并提供一些实际的代码示例。cv2.imwrite函数是OpenCV库中的图像处理函数之一,它允许我们将图像保存为指定的文件路径。

2. cv2.imwrite函数的语法

cv2.imwrite函数的语法如下:

cv2.imwrite(filename, img, params=None)

参数解释:

  • filename:表示要保存图像的文件路径及文件名。
  • img:表示要保存的图像矩阵。
  • params:可选参数,用于指定保存图像的各种附加参数。

3. 保存图像

下面是一个简单的示例,演示如何使用cv2.imwrite函数保存图像:

import cv2

# 读取图像
image = cv2.imread('example.jpg')

# 保存图像
cv2.imwrite('output.jpg', image)

在上面的示例中,我们首先使用cv2.imread函数读取一个名为”example.jpg”的图像,并将其保存在image变量中。然后,我们使用cv2.imwrite函数将图像保存到一个名为”output.jpg”的文件中。

4. 保存图像格式

默认情况下,cv2.imwrite函数将以原始图像的格式保存图像。但是,我们也可以指定保存图像的格式。例如,如果我们希望将图像作为PNG格式保存,可以在保存图像时添加参数:

import cv2

# 读取图像
image = cv2.imread('example.jpg')

# 保存图像为PNG格式
cv2.imwrite('output.png', image, [cv2.IMWRITE_PNG_COMPRESSION, 9])

上面的示例中,我们添加了一个参数[cv2.IMWRITE_PNG_COMPRESSION, 9]来将图像保存为PNG格式,并设置压缩级别为9。这意味着将以高压缩级别保存图像。

5. 其他保存图像参数

除了指定保存图像格式外,我们还可以使用其他参数来定义保存图像的各种属性。下面是一些常用的参数:

  • cv2.IMWRITE_JPEG_QUALITY: 用于设置JPEG格式图像的质量,范围为0-100。默认值为95。
  • cv2.IMWRITE_PNG_COMPRESSION: 用于设置PNG格式图像的压缩级别,范围为0-9。默认值为3。

例如,我们可以将上述参数应用于保存图像的示例中:

import cv2

# 读取图像
image = cv2.imread('example.jpg')

# 保存图像为JPEG格式,质量为90
cv2.imwrite('output.jpg', image, [cv2.IMWRITE_JPEG_QUALITY, 90])

# 保存图像为PNG格式,压缩级别为5
cv2.imwrite('output.png', image, [cv2.IMWRITE_PNG_COMPRESSION, 5])

在上述示例中,我们首先将图像保存为JPEG格式,并设置图像质量为90。然后,我们将同一图像保存为PNG格式,并设置压缩级别为5。

6. 完整代码示例

下面是一段完整的代码示例,演示了如何使用cv2.imwrite函数读取、修改和保存图像。

import cv2

# 读取图像
image = cv2.imread('example.jpg')

# 获取图像的宽度和高度
height, width = image.shape[:2]

# 调整图像的大小
resized_image = cv2.resize(image, (width // 2, height // 2))

# 保存调整大小后的图像
cv2.imwrite('output.jpg', resized_image)

在上述示例中,我们首先使用cv2.imread函数读取一个名为”example.jpg”的图像,并将其保存在image变量中。然后,我们使用cv2.resize函数将图像的大小调整为原始大小的一半。最后,我们使用cv2.imwrite函数将调整大小后的图像保存到一个名为”output.jpg”的文件中。

结论

cv2.imwrite函数是OpenCV库中非常有用的一个函数,它允许我们将图像保存到指定的文件路径中。本文介绍了cv2.imwrite函数的使用方法,并提供了一些实际的代码示例。通过这些示例,我们可以学习如何使用cv2.imwrite函数保存图像,并了解如何使用参数来控制保存图像的格式和属性。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程