python使用opencv如何保存图片_OpenCV Python 保存图片

python使用opencv如何保存图片_OpenCV Python 保存图片本示例使用的OpenCV版本是:4.1.1运行Python的编辑器:Jupyternotebook示例目的通过无损和有损的方式进行图片保存。实现代码1,加载图片importcv2#加载OpenCVimg=cv2.imread(“dashen.jpeg”)#读取/加载图片2,把图片保存为PNG格式使用无损的方式保存成PNG格式cv2.imwrite(‘dashen_co…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

e7719d21baeafc626f184fbaa61ad9b4.png

本示例使用的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。

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

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

901eca9250c0f79bd59795d32870f68d.png

我们在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

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/209940.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • hmacsha256算法原理_一次解析

    hmacsha256算法原理_一次解析需要支持HMACSHA256算法,GitHub找到源码具体地址https://github.com/aperezdc/hmac-sha256/blob/master/hmac-sha256.c移植到目标平台,稍作处理测试ok了,原理:1.输入密钥key和固定的数据(0x36)进行异或操作生成一个64B的数据kx;2.使用kx+输入数据执行sha256算法得到32B的out;3.使用…

    2022年10月22日
  • Python 3.x | 史上最详解的 导入(import)「建议收藏」

    Python 3.x | 史上最详解的 导入(import)「建议收藏」win10+Python3.6.3一、理解一些基本概念1、包、模块模块module:一般情况下,是一个以.py为后缀的文件。其他可作为module的文件类型还有”.pyo”、”.pyc”、”.pyd”、”.so”、”.dll”,但Python初学者几乎用不到。module可看作一个工具类,可共用或者隐藏代码细节,将相关代码放置在一个module以便让代码更好用、易懂,让cod…

  • SQL XQuery COUNT函数

    SQL XQuery COUNT函数

  • 小程序怎么开发自己的小程序_微信小程序建议使用

    小程序怎么开发自己的小程序_微信小程序建议使用微信小程序入门前言随着科技的不断进步,很多功能将会开放,那么很多需求也将会因为现实而得到满足,这是一种不需要下载和安装就可以使用的应用软件。用户只需扫描和搜索就可以打开应用程序。它很容易使用,而且很容易实现。小程序带来了巨大的流量,吸引了很多大的人和企业家前来追踪,也显示出它强大的生命力。小程序是下一个被确定为互联网新品种的程序,信已经成为不可缺少的交流工具,小程序依附于微信,用户搜索起来也会更方便,其实这就是小程序发展的前景和优势。提示:以下是本篇文章正文内容,下面案例可供参考一、小程序的概

  • linux系统卸载程序命令行,Linux系统中完全卸载删除程序的命令[通俗易懂]

    linux系统卸载程序命令行,Linux系统中完全卸载删除程序的命令[通俗易懂]如果您在数据中心服务器或本地服务器中使用Ubuntu或任何其他基于debian的发行版系统,您可能会遇到需要卸载软件的情况。一般情况下,您会登录并运行命令:sudoapt-getremovepackagename(其中packagename是要删除的程序名称)。但是,这样做会留下一些问题,比如安装依赖项和配置文件。这些分散的应用程序和文件不仅占用空间,而且可能导致安全问题。要完全删除的话怎么…

  • pycharm2021.11.3永久激活_最新在线免费激活

    (pycharm2021.11.3永久激活)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

发表回复

您的电子邮箱地址不会被公开。

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