python opencv保存图片_OpenCV Python 保存图片[通俗易懂]

python opencv保存图片_OpenCV Python 保存图片[通俗易懂]By凌顺2019年9月12日本示例使用的OpenCV版本是:4.1.1运行Python的编辑器:Jupyternotebook示例目的通过无损和有损的方式进行图片保存。实现代码1,加载图片importcv2#加载OpenCVimg=cv2.imread(“dashen.jpeg”)#读取/加载图片2,把图片保存为PNG格式使用无损的方式保存成PNG格式cv2.imw…

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

python opencv保存图片_OpenCV Python 保存图片[通俗易懂]

python opencv保存图片_OpenCV Python 保存图片[通俗易懂]

By 凌顺

2019年9月12日

本示例使用的OpenCV版本是:4.1.1

运行Python的编辑器:Jupyter notebook

示例目的

通过无损和有损的方式进行图片保存。

实现代码

1,加载图片

import cv2 # 加载OpenCV

img = cv2.imread(“dashen.jpeg”) # 读取/加载 图片

2,把图片保存为PNG格式

使用无损的方式保存成PNG格式

cv2.imwrite(‘dashen_compressed.png’, img, [cv2.IMWRITE_PNG_COMPRESSION, 0])

运行完以上代码,在工作目录下会多出一个文件dashen_compressed.png。

我们对此文件进行对比,判断该文件与img的数据是否一样,从而判断是否有损失。

我们在cv.imwrite()的第三个参数中设置了PNG的编码方式保存图片,并设置了0值,此值在PNG格式中取值范围是0-9,0就是无损,9就是最高程度的压缩。

img_png = cv2.imread(“dashen_compressed.png”) # 读取/加载 图片

assert img_png.all() == img.all() # 对比两个图像数据是否一样,如果不一样就会出错

2,把图片保存为JPEG格式

使用压缩的方法保存为JPEG

cv2.imwrite(‘dashen_compressed.jpg’, img, [cv2.IMWRITE_JPEG_QUALITY, 0])

运行完以上代码,在工作目录下会多出一个文件dashen_compressed.png。

从文件大小的角度,与原图相比小了很多。

打开该文件与原图相比,也可以看出图片损失了很多数据。

python opencv保存图片_OpenCV Python 保存图片[通俗易懂]

我们在cv.imwrite()的第三个参数中设置了JPEG的编码方式保存图片,并设置了0值,此值在JPEG格式中取值范围是0-100,数值越高,保存的质量就越高。

程序说明

本示例主要认识cv.imwrite()的作用,可以通过设置有损或者无损的方式保存图片。

cv.imwrite()语法

retval = cv.imwrite( filename, img[, params] )

第一个参数 filename,要保存图片的文件名称。

第二个参数 img,输入图像数据。

(可选)第三个参数 params,设置编码格式特定参数(paramId_1,paramValue_1,paramId_2,paramValue_2,…),可以用的params列表请参考cv:: ImwriteFlags https://docs.opencv.org/4.1.1/d4/da8/group__imgcodecs.html#ga292d81be8d76901bff7988d18d2b42ac

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

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

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


相关推荐

  • QGIS使用入门

    QGIS使用入门最近工作需要,要做一些关于QGIS的地图验证工作,这里就记录一下我的学习步骤和问题。1:首先下载QGIShttps://qgis.org/en/site/forusers/download.html我这里使用的是3.4版本的2:安装完毕后会生成好几个快捷方式,我们使用的是3:打开后整体界面4:添加在线地图高德地址:https://webst01.i…

    2022年6月15日
    83
  • 最有效的最新防360拦截方法大全![通俗易懂]

    最有效的最新防360拦截方法大全![通俗易懂]首先声明,现在对于360拦截,没有任何一种方法是绝对有效的。因为存在举报,同一网站举报次数达到5次以上就会有360公司的员工接入人工审核,人工接入的话,再好的技术都是百搭,所以我这里的技术可以说绝对拦得住“机器审核”,具体“拦截时间未知”(因为不知道您的竞争对手什么时候会给您搞点小动作)我总结的方法一共有5种,都做过测试,分析出优缺点。具体如下:方法一:用框架调用主页,也就

    2025年8月10日
    4
  • 微型计算机硬件性能主要取决于什么,微型计算机硬件系统的性能主要取决于

    微型计算机硬件性能主要取决于什么,微型计算机硬件系统的性能主要取决于大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。微型计算机硬件系统的性能主要取决于微处理器。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片组成微型计算机。微处理器,是指用一片或少数几片大规模集成电路组成的中央处理器。与传统的中央处理器相比,微处理器具有体积小、重量轻和容易模块化等优点。能完成取指令…

    2022年6月28日
    59
  • Java面试之线程

    Java面试之线程Java面试之线程

    2022年4月22日
    117
  • BCG界面库_bcg模式什么意思

    BCG界面库_bcg模式什么意思本文以MDI应用程序为例说明如何在已有的VC++工程中使用BCG界面库,我的开发环境为VS2003。1,将BCG/BCGCBPro目录路径添加到“项目属性->C/C++->常规->附加包含目录”中,同时将BCG/Bin目录路径添加到“项目属性->链接器->常规->附加库目录”中。2,确保在CWinApp派生类(设为CMyApp)的InitInstance()成员函数中调用A

    2022年10月8日
    3
  • 流行计算机病毒有哪些,现在流行计算机病毒有哪些[通俗易懂]

    流行计算机病毒有哪些,现在流行计算机病毒有哪些[通俗易懂]现在流行计算机病毒有哪些现在流行计算机病毒有哪些现在流行的计算机病毒有很多!你有去了解过吗?下面由小编给你做出详细的现在流行计算机病毒介绍!希望对你有帮助!现在流行计算机病毒介绍一:国家计算机病毒应急处理中心通过对互联网的监测发现,近期出现一种恶意后门程序变种Backdoor_Agent.ADG。该变种运行后,会自我复制到受感染操作系统指定文件夹下,重命名为可执行文件。随后,该变种会释放操作系统中…

    2022年5月5日
    66

发表回复

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

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