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

【OpenCV 例程200篇】02. 图像的保存(cv2.imwrite)2.图像的保存函数cv2.imwrite()用于将图像保存到指定的文件。函数说明:retval=cv2.imwrite(filename,img[,paras])cv2.imwrite()将OpenCV图像保存到指定的文件。cv2.imwrite()基于保存文件的扩展名选择保存图像的格式。cv2.imwrite()只能保存BGR3通道图像,或8位单通道图像、或PNG/JPEG/TIFF16位无符号单通道图像。参数说明:filename:要保

大家好,又见面了,我是你们的朋友全栈君。

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中
更多内容,请见:
【OpenCV 例程200篇 总目录-202206更新】(https://blog.csdn.net/youcans/article/details/124565960)

【OpenCV 例程200篇】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/121169014)
Copyright 2022 youcans, XUPT
Crated:2021-11-18
欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中
更多内容,请见:
【OpenCV 例程200篇 总目录-202206更新】(https://blog.csdn.net/youcans/article/details/124565960)

【youcans 的 OpenCV 例程200篇】01. 图像的读取(cv2.imread)
【youcans 的 OpenCV 例程200篇】02. 图像的保存(cv2.imwrite)
【youcans 的 OpenCV 例程200篇】03. 图像的显示(cv2.imshow)
【youcans 的 OpenCV 例程200篇】04. 用 matplotlib 显示图像(plt.imshow)
【youcans 的 OpenCV 例程200篇】05. 图像的属性(np.shape)

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQLServer 远程备份和恢复

    SQLServer 远程备份和恢复

    2021年7月28日
    58
  • avx2指令集对php有用吗,AVX2指令集的作用[通俗易懂]

    avx2指令集对php有用吗,AVX2指令集的作用[通俗易懂]AVX2指令集的作用介绍AVX指令集之前,先要引入一个向量的概念。所谓向量,就是多个标量的组合,通常意味着SIMD(单指令多数据),就是一个指令同时对多个数据进行处理,达到很大的吞吐量。早在1996年,Intel就在X86架构上应用了MMX(多媒体扩展)指令集,那时候还仅仅是64位向量。到了1999年,SSE(流式SIMD扩展)指令集出现了,这时候的向量提升到了128位。SandyBridge的…

    2022年5月29日
    43
  • Typora下载和简单使用教程

    Typora下载和简单使用教程Typora下载Typora官网下载地址根据自己的电脑选择不同的版本,我用的是Windows64位的系统的就选择DownloadBeta(×64)下载完Typora以后我们就可以使用markdown了。Typora的学习1.标题数量 标题级数 快捷键 一个#加空格加内容 一级标题 Ctrl+1 两个#加空格加内容 二级标题 Ctrl+2 三个#加空格加内容 三级标题 Ctrl+3 以此类..

    2022年5月19日
    49
  • sql:常用:group by 多个字段「建议收藏」

    sql:常用:group by 多个字段「建议收藏」首先groupby的简单说明:  groupby一般和聚合函数一起使用才有意义,比如countsumavg等,使用groupby的两个要素:  (1)出现在select后面的字段要么是是聚合函数中的,要么就是groupby中的.  (2)要筛选结果可以先使用where再用groupby或者先用groupby再用having下面看下groupb…

    2022年5月25日
    80
  • mysql取分组后最新的一条数据_mysql分组后取最大时间

    mysql取分组后最新的一条数据_mysql分组后取最大时间mysql取分组后最新的一条记录,下面两种方法.一种是先筛选出最大和最新的时间,在连表查询.一种是先排序,然后在次分组查询(默认第一条),就是最新的一条数据了#select*fromt_assistant_articleasa,(selectmax(base_id)asbase_id,max(create_time)ascreate_timefromt_assista

    2025年6月22日
    5
  • java http协议_java编写协议

    java http协议_java编写协议前面一篇博客里面已经介绍过SSDP协议原理,本篇博客将实现实现Android上的SSDP协议。关键技术分析:1、发送广播;须要发送送广播,所以须要使用MulticastSocket、SocketAddress、InetAddress,须要掌握。2、SSDP数据报格式;标准的SSDPServer解析的时候对于分段的字段选用的特征码是”\r\n”,须要特别注意。3、訪问权限;须要互联网,要在Main…

    2022年10月11日
    4

发表回复

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

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