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

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

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

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

python使用opencv如何保存图片_OpenCV Python 保存图片相关推荐

  1. python opencv 录制视频_OpenCV Python 录制视频

    学到实用OpenCV调用笔记本电脑的摄像头,并录制视频保存到本地硬盘的时候,出现了一点故障,那就是获取到的文件总是为0KB.经过一番查找,终于找到了解决办法. 调用摄像头 调用摄像头作为本实验的基础是 ...

  2. python的opencv库_用于Python的Opencv可视化库安装,面向,OpenCV,视觉

    计算机视觉最重要的库莫过于OpenCV,ananconda功能很强大,但是也有比较重要的几个库,还没做成集成开发环境,需要自己安装. 在安装的过程中也走了许多弯路,因为安装的方法有许多许多,有些随着O ...

  3. python连接opencv库_利用Python和OpenCV库将URL转换为OpenCV格式的方法

    今天的博客是直接来源于我自己的个人工具函数库. 过去几个月,有些PyImageSearch读者电邮问我:"如何获取URL指向的图片并将其转换成OpenCV格式(不用将其写入磁盘再读回)&qu ...

  4. python opencv保存图片_OpenCV Python 保存图片

    By 凌顺 2019年9月12日 本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 通过无损和有损的方式进行图片保存. 实现代码 1,加 ...

  5. opencv 分割长度_opencv+python智能车道检测,助力无人驾驶

    近年来,基于人工智能的车道检测算法得到了广泛的研究.与传统的基于特征的方法相比,许多方法表现出了优越的性能.然而,当使用具有挑战性的图像时,其准确率通常仍在低80%或高90%之间,甚至更低. 准确可靠 ...

  6. python opencv压缩图片_OpenCV Python 缩放图片

    By 凌顺 2019年9月12日 本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 使用OpneCV的cv2.resize()函数对图片 ...

  7. python中的opencv读取数字_opencv+python 机读卡识别之试错(一)模板匹配的数字识别...

    图像来源于第四部分的数字,用任意截图工具截取部分图像当作模板,比如这样: 将模板与图像对比,这个方法根据matchTemplate函数只能选出整幅图里最匹配的图像,并不能找出所有,若想找出所有,必须不 ...

  8. python怎么计算图像梯度_opencv python图像梯度实例详解

    这篇文章主要介绍了opencv python图像梯度实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一阶导数与Soble算子 二阶导数与拉普 ...

  9. python柱状图标注均值标准差_OpenCV Python 图像矩阵的均值和标准差

    By 凌顺 2019年9月17日 本示例使用的OpenCV版本是:OpenCV 4.1.1 运行Python的编辑器:Jupyter notebook 6.0.0 实现目的 学会使用NumPy的mea ...

最新文章

  1. Ubuntu下非常给力的下载工具–aira2
  2. Mybatis批量添加对象List
  3. 产品设计中的点线面法则
  4. asp.net 生成、解析条形码和二维码
  5. 速成pytorch学习——3天自动微分机制
  6. 我是如何入门机器学习的呢
  7. 安卓系统源码、内核下载
  8. VMwarex虚拟机打不开:“指定的文件不是虚拟磁盘”
  9. 实操教程:黑客如何瞄准和入侵网站的
  10. 理解PeopleSoft HRMS人力资源管理系统
  11. 微信小程序如何在地图选择地址并返回经纬度
  12. python 计算银行带宽等额本金和等额本息的方法
  13. 大数据和Hadoop什么关系?为什么大数据要学习Hadoop?
  14. Kylin快速入门系列(1) | Kylin的简单介绍及安装部署
  15. 赛尔号服务器维护时间4月27,赛尔号03月27日更新攻略汇总 瀚海界神重获新生
  16. 混合型数据的邻域条件互信息熵属性约简算法
  17. RHCE之搭建DNS服务器
  18. frame框架初步解析
  19. .net core生成PDF文件,iTextSharp使用
  20. PAT 1110 区块反转(C语言25分,包含第六个测试点解决思路)

热门文章

  1. UVALive 8076 Workout for a Dumbbell
  2. tableau-客户留存分析模型
  3. 新生儿取名:撩人于无形的女宝宝名字,任你挑选
  4. 微软账户登入显示空白框,无法创建用户
  5. PLL中的locked信号解析
  6. 全球及中国建筑设计行业十四五发展方向与投资决策建议报告2022版
  7. 陆奇天团二期成团,清北硕博超七成
  8. 3.Ubuntu 安装Pinta图片处理工具
  9. 百度大脑驾驶证识别使用攻略
  10. 金笛JDMAIL邮件服务器证券行业邮件归档解决方案