【OpenCV 例程300篇】02. 图像的保存(cv2.imwrite)

【OpenCV 例程300篇】02. 图像的保存(cv2.imwrite)函数 cv2 imwrite 用于将图像保存到指定的文件 OpenCV 完整例程 200 篇 01 图像的读取 cv2 imread 02 图像的保存 cv2 imwrite 03 图像的显示 cv2 imshow 06 像素的编辑 img itemset 07 图像的创建 np zeros 08 图像的复制 np copy 09 图像的裁剪 cv2 selectROI

专栏地址:『youcans 的 OpenCV 例程300篇 – 总目录』

【OpenCV 例程300篇】02. 图像的保存(cv2.imwrite)

函数 cv2.imwrite() 用于将图像保存到指定的文件。

函数说明:

retval = cv2.imwrite(filename, img [, paras])

  • cv2.imwrite() 将 OpenCV 图像保存到指定的文件。
  • cv2.imwrite() 基于保存文件的扩展名选择保存图像的格式。
  • cv2.imwrite() 只能保存 BGR 3通道图像,或 8 位单通道图像、或 PNG/JPEG/TIFF 16位无符号单通道图像。

参数说明:

  • filename:要保存的文件的路径和名称,包括文件扩展名
  • img:要保存的 OpenCV 图像,nparray 多维数组
  • paras:不同编码格式的参数,可选项
    • cv2.CV_IMWRITE_JPEG_QUALITY:设置 .jpeg/.jpg 格式的图片质量,取值为 0-100(默认值 95),数值越大则图片质量越高;
    • cv2.CV_IMWRITE_WEBP_QUALITY:设置 .webp 格式的图片质量,取值为 0-100;
    • cv2.CV_IMWRITE_PNG_COMPRESSION:设置 .png 格式图片的压缩比,取值为 0-9(默认值 3),数值越大则压缩比越大。
  • retval:返回值,保存成功返回 True,否则返回 False。

注意事项:

  1. cv2.imwrite() 保存的是 OpenCV 图像(多维数组),不是 cv2.imread() 读取的图像文件,所保存的文件格式是由 filename 的扩展名决定的,与读取的图像文件的格式无关。
  2. 对 4 通道 BGRA 图像,可以使用 Alpha 通道保存为 PNG 图像。
  3. cv2.imwrite() 指定图片的存储路径和文件名,在 python3 中不支持中文和空格(但并不会报错)。必须使用中文时,可以使用 cv2.imencode() 处理,参见扩展例程。

基本例程:

 # 1.4 图像的保存 imgFile = "../images/logoCV.png" # 读取文件的路径 img3 = cv2.imread(imgFile, flags=1) # flags=1 读取彩色图像(BGR) saveFile = "../images/imgSave.png" # 保存文件的路径 # cv2.imwrite(saveFile, img3, [int(cv2.IMWRITE_PNG_COMPRESSION), 8]) # 保存图像文件, 设置压缩比为 8 cv2.imwrite(saveFile, img3) # 保存图像文件 

扩展例程:

 # 1.5 保存中文路径的图像 imgFile = "../images/logoCV.png" # 读取文件的路径 img3 = cv2.imread(imgFile, flags=1) # flags=1 读取彩色图像(BGR) saveFile = "../images/测试图02.jpg" # 带有中文的保存文件路径 # cv2.imwrite(saveFile, img3) # imwrite 不支持中文路径和文件名,读取失败,但不会报错! img_write = cv2.imencode(".jpg", img3)[1].tofile(saveFile) 

在这里插入图片描述

(本节完)


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/)
Copyright 2022 youcans, XUPT
Crated:2021-11-18
更多内容请见:>『youcans 的 OpenCV 例程300篇 – 总目录』(https://blog.csdn.net/youcans/article/details/)














版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201400.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午9:28
下一篇 2026年3月20日 上午9:28


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号