基于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 中 list 的各项操作技巧
Apr 13 Python
python使用super()出现错误解决办法
Aug 14 Python
python将秒数转化为时间格式的实例
Sep 16 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
如何通过Django使用本地css/js文件
Jan 20 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
python字典和json.dumps()的遇到的坑分析
Mar 11 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
Python依赖包迁移到断网环境操作
Jul 13 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
Python爬虫爬取有道实现翻译功能
Nov 27 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
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
php数组查找函数总结
2014/11/18 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
php析构函数的简单使用说明
2015/08/24 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
一个基于jquery的图片切换效果
2010/07/06 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
python开发之list操作实例分析
2016/02/22 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
荷兰本土平价百货:HEMA
2017/10/23 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
工程概预算专业毕业生求职信
2013/10/04 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
公司募捐倡议书
2014/05/14 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
使用Django框架创建项目
2022/06/10 Python
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers
Java获取字符串编码格式实现思路
2022/09/23 Java/Android