基于python-opencv3的图像显示和保存操作


Posted in Python onJune 27, 2019

基于python-opencv3的图像显示和保存操作,具体代码如下所示:

import cv2 as cv
import numpy as np            #导入库
print("-------------------------------")
image = cv.imread("D:/1.jpeg")        #写入图像
cv.imshow("image",image)               #显示
cv.waitKey()                  #等待
cv.destroyAllWindows()             #关闭所有窗口
cv.imwrite("D:\\2.jpeg",image)         #保存图像

首先要导入cv2 和 numpy函数库,第四行的cv.imread()函数用于写入一个图像,imred()函数原型Mat imread(const String& filename,int flags = IMREAD_COLOR);

返回Mat对象,第一个参数是文件的绝对路径,但并不是支持所有文件对象,它支持的文件如下:

l  Windows bitmaps - *.bmp, *.dib (always supported)

l  JPEG files - *.jpeg, *.jpg, *.jpe (see the Notes section)

l  JPEG 2000 files - *.jp2 (see the Notes section)

l  Portable Network Graphics - *.png (see the Notes section)

l  WebP - *.webp (see the Notes section)

l  Portable image format - *.pbm, *.pgm, *.ppm *.pxm, *.pnm (always supported)

l  Sun rasters - *.sr, *.ras (always supported)

l  TIFF files - *.tiff, *.tif (see the Notes section)

l  OpenEXR Image files - *.exr (see the Notes section)

l  Radiance HDR - *.hdr, *.pic (always supported)

l  Raster and Vector geospatial data supported by Gdal (see the Notes section)

需要注意的是函数并不是靠识别后缀名,而是靠识别内容的编码。

其实,我们生活中常用的图像格式都是可以识别的,所以基本不用担心这个问题。

第二个参数可以将原图像进行一定的转换,此参数很重要,不要轻易设置,默认是IMREAD_LOAD_GDAL 即使用gdal驱动程序加载图像,常用的有以下几种:

l  IMREAD_UNCHANGED  加载原图,否则可能会被剪裁

l  IMREAD_GRAYSCALE   加载单通道灰度图像

l  IMREAD_COLOR   加载三通道BGR图像

其他的基本不会用到,也就不再赘述。

下面一行cv.imshow()是显示图像,其参数列表(“图像名”,图像),

Cv.waitKey()是等待函数,没有这个函数,会立刻退出,看不到图像,

参数列表(【delay】):delay=0(无限等待),delay>0(等待delayms),delay<0(等待任意键单击)

Cv.destroyAllWindows()是在运行完程序后关闭所有的窗口,这个是不必须的,但为了好的编程习惯应该这么做,。

最后,cv.imwrite(),则是保存图像了,其参数(路径名,图像名),即把想要保存的图像保存到指定的路径里(例如“D:/Ambitio/demo.jpeg”即把图像保存到D的Ambitio文件夹中,名字为demo,格式为jpeg)

总结

以上所述是小编给大家介绍的基于python-opencv3的图像显示和保存操作 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
浅析Python中的for 循环
Jun 09 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
Python OpenCV获取视频的方法
Feb 28 Python
django js实现部分页面刷新的示例代码
May 28 Python
Python SQL查询并生成json文件操作示例
Aug 17 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
使用Python计算玩彩票赢钱概率
Jun 26 Python
Flask框架单例模式实现方法详解
Jul 31 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
Python 模拟动态产生字母验证码图片功能
Dec 24 Python
Python结合百度语音识别实现实时翻译软件的实现
Jan 18 Python
Pandas 稀疏数据结构的实现
Jul 25 Python
pycharm new project变成灰色的解决方法
Jun 27 #Python
python之mock模块基本使用方法详解
Jun 27 #Python
python文件选择对话框的操作方法
Jun 27 #Python
python开启debug模式的方法
Jun 27 #Python
python判断所输入的任意一个正整数是否为素数的两种方法
Jun 27 #Python
教你一步步利用python实现贪吃蛇游戏
Jun 27 #Python
Python中遍历列表的方法总结
Jun 27 #Python
You might like
不错的PHP学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
AJAX的使用方法详解
2017/04/29 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
在html页面中包含共享页面的方法
2008/10/24 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
Python入门篇之文件
2014/10/20 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
优秀管理者获奖感言
2014/02/17 职场文书
安全教育感言
2014/03/04 职场文书
就业协议书样本
2014/08/20 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
学校运动会感想
2015/08/10 职场文书
新课程改革心得体会
2016/01/22 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
用php如何解决大文件分片上传问题
2021/07/07 PHP
Go获取两个时区的时间差
2022/04/20 Golang