基于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中循环语句的嵌套使用
May 14 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
Jan 20 Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
python中实现将多个print输出合成一个数组
Apr 19 Python
Python格式化日期时间操作示例
Jun 28 Python
用Python实现数据的透视表的方法
Nov 16 Python
python获取交互式ssh shell的方法
Feb 14 Python
python实现日志按天分割
Jul 22 Python
python实现批量修改服务器密码的方法
Aug 13 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
基于python SMTP实现自动发送邮件教程解析
Jun 02 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
php获取操作系统语言代码
2013/11/04 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
python 字典(dict)按键和值排序
2016/06/28 Python
python list排序的两种方法及实例讲解
2017/03/20 Python
使用Python进行目录的对比方法
2018/11/01 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
高中毕业自我鉴定范文
2013/10/02 职场文书
学院书画协会部门职责
2013/11/28 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis