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

01. 图像的读取(cv2.imread)
02. 图像的保存(cv2.imwrite)
03. 图像的显示(cv2.imshow)
04. 用 matplotlib 显示图像(plt.imshow)

【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])  # 保存图像文件, 设置压缩比为 8cv2.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/121168935)
Copyright 2022 youcans, XUPT
Crated:2021-11-18
更多内容请见:>『youcans 的 OpenCV 例程300篇 - 总目录』(https://blog.csdn.net/youcans/article/details/125112487)

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

  1. 【OpenCV 例程 300篇】253. 多帧图像(动图)的读取与保存

    『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程 300篇]253. 多帧图像(动图)的读取与保存 1. 多帧图像(动图) 多帧图像是将多幅图像 ...

  2. 【OpenCV 例程300篇】01. 图像的读取(cv2.imread)

    专栏地址:『youcans 的 OpenCV 例程300篇 - 总目录』 01. 图像的读取(cv2.imread) 02. 图像的保存(cv2.imwrite) 03. 图像的显示(cv2.imsh ...

  3. 【OpenCV 例程 300篇】252.视频文件的读取与保存

    『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程 300篇]252. 视频文件的读取与保存 视频文件是由一系列图像组成的,视频的每一帧都是一幅图 ...

  4. 【OpenCV 例程300篇】40. 图像分段线性灰度变换

    『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程300篇]40. 图像分段线性灰度变换 分段线性变换函数可以增强图像各部分的反差,增强感兴趣的灰 ...

  5. 【OpenCV 例程 300 篇】112. 滤波反投影重建图像

    专栏地址:『youcans 的 OpenCV 例程 300篇 - 总目录』 [第 7 章:图像复原与重建] 110. 投影和雷登变换 111. 雷登变换反投影重建图像 112. 滤波反投影重建图像 [ ...

  6. 【OpenCV 例程300篇】204. 图像的色彩风格滤镜

    OpenCV 例程200篇 总目录 201. 图像的颜色空间转换 202. 查表快速替换(cv.LUT) 203. 伪彩色图像处理 204. 图像的色彩风格滤镜 205. 调节色彩平衡/饱和度/明度 ...

  7. 【OpenCV 例程 300 篇】107. 退化图像的维纳滤波

    专栏地址:『youcans 的 OpenCV 例程 300篇 - 总目录』 [第 7 章:图像复原与重建] 106. 退化图像的逆滤波 107. 退化图像的维纳滤波 108. 约束最小二乘方滤波 10 ...

  8. 【OpenCV 例程300篇】04. 用 matplotlib 显示图像(plt.imshow)

    专栏地址:『youcans 的 OpenCV 例程300篇 - 总目录』 01. 图像的读取(cv2.imread) 02. 图像的保存(cv2.imwrite) 03. 图像的显示(cv2.imsh ...

  9. 【youcans的OpenCV例程300篇】总目录

    版权声明: 转载本系列作品时必须标注以下版权内容: [youcans@qq.com, youcans的OpenCV 例程300篇, https://blog.csdn.net/youcans/cate ...

最新文章

  1. 微软宣布将于08年发布Centro服务器软件
  2. hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)...
  3. Django REST framework+Vue 打造生鲜电商项目(笔记八)
  4. abstract class 和 interface 区别
  5. java获取主机信息大全,网络编程:Java获取网络主机信息
  6. 「面试」美团肝了我30+问题
  7. C语言第五次博客作业
  8. javascript基础与编写习惯
  9. Benefits of SIMD Programming | SIMD的优势
  10. maven配置testng_TestNG Maven Surefire插件配置
  11. 名企架构师的心声:让我一次“架”个“构”
  12. error:Microsoft Visual C++ 14.0 is required.
  13. 域用户权限|连接DC终端服务
  14. [商业_法务] 2、注册公司起名很费劲,用C++怒写个随机名字生成器
  15. 惠普bios硬重置_惠普BIOS密码重置工具下载_惠普重置BIOS下载 1.66 免费版_当载软件站...
  16. ubuntu16.04多GPU风扇转速调整
  17. $(...).nicescroll is not a function报错分析
  18. JAVA 进制转换工具
  19. Python3 找200以内的所有素数/质数 | break与continue
  20. 群体遗传学瓶颈效应bottleneck effect

热门文章

  1. 【Spring Data JPA自学笔记二】初识Spring Data JPA
  2. 全国计算机二级报名费
  3. 【MySQL】增删查改CURD(基础版)
  4. PCL中PCD(Point Cloud Data)文件格式解析
  5. C语言 转换10进制为16进制
  6. 基于BP神经网络的足球结果预测软件开发
  7. java中输入语句是怎么写的
  8. 转载一位项目管理大师的总结
  9. arp协议与rarp协议
  10. PyQT5入门案例(一)工资统计系统