cv2.imwrite 是 OpenCV 库中的一个函数,用于将图像数据保存为文件。其基本语法如下:
python
cv2.imwrite(filename, img, [params])
参数说明:
- filename:要保存的图像的文件名,包括文件路径和扩展名(如 .jpg, .png 等)。需要加上文件扩展名以指定图像格式。
- img:要保存的图像数据,通常是一个二维数组(对于灰度图像)或三维数组(对于彩色图像)。这个数组可以是 OpenCV 读取的图像,也可以是经过处理后的图像数据。
- params:可选参数,是一个列表,用于指定保存图像的格式和质量等信息。例如,对于 JPEG 图像,可以使用 cv2.IMWRITE_JPEG_QUALITY 来指定压缩质量。
示例用法:
python
import cv2
# 读取图像
img = cv2.imread('input.jpg')
# 对图像进行处理(可选)
# 例如,可以调整图像大小、裁剪、转换颜色空间等
# processed_img = cv2.resize(img, (800, 600))
# 保存图像
# 指定文件名和格式(通过文件扩展名)
cv2.imwrite('output.jpg', img)
# 如果需要指定保存参数,可以使用 params 参数
# 例如,保存 JPEG 图像并指定压缩质量为 90
params = [cv2.IMWRITE_JPEG_QUALITY, 90]
cv2.imwrite('output_high_quality.jpg', img, params)
注意事项:
- 确保文件路径和文件名正确,并且具有写入权限。
- 图像数据的类型和范围应与目标图像格式兼容。例如,对于 JPEG 格式,图像数据应为 8 位无符号整数(uint8)。
- params 参数是可选的,并且不是所有图像格式都支持额外的保存参数。例如,PNG 格式不支持压缩质量参数。
OpenCV 支持多种图像格式,包括 BMP、PNG、JPEG、TIFF 等。保存的图像格式由文件扩展名决定。
错误处理:
如果 cv2.imwrite 函数调用失败,它不会返回错误信息。为了确保图像已成功保存,可以检查文件是否存在于指定路径,或者捕获可能发生的异常。
python
try:
cv2.imwrite('output.jpg', img)
print("图像保存成功")
except Exception as e:
print("图像保存失败:", e)
使用 cv2.imwrite 时,请确保已正确安装 OpenCV 库,并且图像数据是有效的。