Python cv2.imwrite()的用法
在图像处理中,保存图像是一个常见的操作。OpenCV库提供了一个非常方便的函数cv2.imwrite()来保存图像。本文将详细介绍cv2.imwrite()函数的用法,并通过示例代码演示如何保存图像。
cv2.imwrite()函数概述
cv2.imwrite()函数用于将图像保存到文件中。其语法如下:
cv2.imwrite(filename, img [, params])
- filename:要保存的文件名,可以是包含路径的完整文件名。
- img:要保存的图像。
- params:可选参数,通常用于指定保存格式等,具体参数取决于文件格式。
示例代码
下面是一个使用cv2.imwrite()函数保存图像的示例代码:
import cv2
# 读取图像
img = cv2.imread('lena.jpg')
# 保存图像
cv2.imwrite('lena_gray.jpg', img)
print("图像保存成功!")
运行上述代码后,将在当前目录下生成一个名为’lena_gray.jpg’的图像文件,并在控制台打印出”图像保存成功!”。
指定保存格式
有时候需要指定保存图像的格式,可以通过params参数来指定。以下是一个示例代码:
import cv2
# 读取图像
img = cv2.imread('lena.jpg')
# 保存图像为PNG格式
cv2.imwrite('lena_png.png', img, [cv2.IMWRITE_PNG_COMPRESSION, 9])
print("PNG格式图像保存成功!")
在上述代码中,通过将参数传递给cv2.imwrite()函数来指定保存为PNG格式,并指定压缩等级为9。
保存带有EXIF信息的图像
有时候需要保存带有EXIF信息的图像,可以通过第三方库exif来实现。以下是一个示例代码:
import cv2
import exif
# 读取图像
img = cv2.imread('lena.jpg')
# 保存带有EXIF信息的图像
with open('exif.jpg', 'wb') as f:
f.write(exif.add_exif_header(img, 'Description'))
print("带有EXIF信息的图像保存成功!")
在上述代码中,exif.add_exif_header()函数可将EXIF信息添加到图像中,并保存为’exif.jpg’。
总结
cv2.imwrite()函数是OpenCV库中用于保存图像的重要函数,通过它可以方便地将图像保存到文件中。本文介绍了cv2.imwrite()函数的用法,并通过示例代码演示了保存图像的基本操作、指定保存格式以及保存带有EXIF信息的图像。