基于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导入txt数据到mysql的方法
Apr 08 Python
Python实现的最近最少使用算法
Jul 10 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 Python
numpy中索引和切片详解
Dec 15 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
如何通过python画loss曲线的方法
Jun 26 Python
python实现日志按天分割
Jul 22 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
python的列表List求均值和中位数实例
Mar 03 Python
Python astype(np.float)函数使用方法解析
Jun 08 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
Dec 16 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下批量挂马和批量清马代码
2011/02/27 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
php数组添加元素方法小结
2014/12/20 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
jquery查找tr td 示例模拟
2014/05/08 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
解析Vue 2.5的Diff算法
2017/11/28 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
Python中的探索性数据分析(功能式)
2017/12/22 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
python for和else语句趣谈
2019/07/02 Python
Python正则表达式学习小例子
2020/03/03 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
Python修改DBF文件指定列
2020/12/19 Python
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
Weblogic和WebSphere不同特点
2012/05/09 面试题
《美丽的黄昏》教学反思
2014/02/28 职场文书
材料会计岗位职责
2014/03/06 职场文书
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
企业文化理念标语
2014/06/10 职场文书