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

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

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

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


相关推荐

  • Python元编程

    1.概述Python元编程有两种方法,一是采用类似“装饰器”的工具对基本元素(例如函数、类、类型)内审和对其进行实时创建和修改,二是运用类型"元类"的方式对类实例的创建过程进行

    2021年12月18日
    57
  • maven常见命令及打包方式

    maven常见命令及打包方式做项目时使用maven构建项目已经是现在的流行做法了。maven最大的作用就是用于对项目中jar包依赖的统一管理。maven还有一些常用的命令,更加方便项目的管理。下面介绍一些常用的命令及其作用。(1)mavenclean。对项目进行清理,清理的过程中会删除删除target目录下编译的内容。(2)mavencompile。编译项目源代码。(3)maventest。对项目的运…

    2022年5月10日
    42
  • C中结构体和类的区别

    C中结构体和类的区别结构体和类同样能够定义字段 方法和构造函数 都能实例化对象 这样看来结构体和类的功能好像是一样的了 但是他们在数据的存储上是不一样的 C 结构体和类的区别问题这两种数据类型的本质区别主要是各自指向的内存位置不同 传递类的时候 主要表现为是否同时改变了源对象 1 结构体是值类型 类是引用类型虽然结构体的初始化也使用了 new 操作符 可是结构体对象依然分配在堆栈上而不是堆上

    2025年9月4日
    4
  • CUDA deb 安装

    CUDA deb 安装1、CUDA下载https://developer.nvidia.com/cuda-toolkit-archive2、选择对应版本deb安装sudodpkg-icuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.debsudoapt-keyadd/var/cuda-repo-<version&gt…

    2022年6月4日
    67
  • 2.5D RGBD 图像 深度学习

    2.5D RGBD 图像 深度学习RGBD=RGB+DepthMapRGB:RGB色彩模式是工业界的一种颜色标准,是通过对红®、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。DepthMap:在3D计算机图形中,DepthMap(深度图)是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道。其中,DepthMap类似于灰度图像,只是它的每个像素值是传感器

    2026年1月15日
    4
  • 如何安装sqlmap(怎么看python安装成功)

    第一步:下载python:https://www.python.org/downloads/(这里有python各种版本,但是一般建议安装3和2.7)sqlmap:https://github.com/sqlmapproject/sqlmap/tarball/master第二步:在Windows我的电脑》属性》高级》环境变量里找到p…

    2022年4月15日
    35

发表回复

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

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