python如何利用cv2模块读取显示保存图片


Posted in Python onJune 04, 2021

1. 读取图片

使用函数cv2.imread(filepath,flags)读入一副图片

filepath:要读入图片的完整路径

flags:读入图片的标志

cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道

cv2.IMREAD_GRAYSCALE:读入灰度图片

cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道

import numpy as npimport cv2img = cv2.imread(‘1.jpg',cv2.IMREAD_GRAYSCALE)

2. 显示图片

cv2.imshow(wname,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.destroyWindow(wname)

使用函数cv2.imshow(wname,img)显示图像,第一个参数是显示图像的窗口的名字,第二个参数是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小

cv2.waitKey顾名思义等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片

cv2.destroyAllWindow()销毁所有窗口

cv2.destroyWindow(wname)销毁指定窗口wname

保存图片

cv2.imwrite(filepahe, img, flag)

第一个参数filepath是要保存的文件路径及文件名,例如

filepath='"D\\TooBox\\0.jpg"

第二个参数是要保存的图像。可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.

注意:cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int

cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小。

cv2.imwrite('1.png', img, [int(cv2.IMWRITE_JPEG_QUALITY),95])
cv2.imwrite('1.png',img,[int(cv2.IMWRITE_PNG_COMPRESSION),9])

图片操作

图片翻转

使用函数cv2.flip(img,flipcode)翻转图像,flipcode控制翻转效果

flipcode = 0:沿x轴翻转

flipcode > 0:沿y轴翻转

flipcode < 0:x,y轴同时翻转

imgflip=cv2.flip(img,1)

图片复制

imgcopy=img.copy()

颜色空间转换

RGB彩色图片转为灰度图片

img2 = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)

灰度图片转为RGB彩色图片

img3 = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)

总结

到此这篇关于python利用cv2读取显示保存图片的文章就介绍到这了,更多相关python cv2读取图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python常见字典内建函数用法示例
May 14 Python
python opencv3实现人脸识别(windows)
May 25 Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
用Python从0开始实现一个中文拼音输入法的思路详解
Jul 20 Python
django foreignkey(外键)的实现
Jul 29 Python
Django框架中序列化和反序列化的例子
Aug 06 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
May 19 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
Python实现哲学家就餐问题实例代码
Nov 09 Python
python 装饰器的基本使用
Jan 13 Python
Python实现socket库网络通信套接字
Jun 04 #Python
python cv2图像质量压缩的算法示例
Jun 04 #Python
高考要来啦!用Python爬取历年高考数据并分析
单身狗福利?Python爬取某婚恋网征婚数据
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
Python 中random 库的详细使用
Jun 03 #Python
详解Python常用的魔法方法
You might like
php返回json数据函数实例
2014/10/09 PHP
PHP中ini_set与ini_get用法实例
2014/11/04 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
Python向MySQL批量插数据的实例讲解
2018/03/31 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
python生成器用法实例详解
2019/11/22 Python
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
中国最大的团购网站:聚划算
2016/09/21 全球购物
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
历史学专业个人的自我评价
2013/10/13 职场文书
工作简历自我评价
2015/03/11 职场文书
2015年征兵工作总结
2015/07/23 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
详细聊聊vue中组件的props属性
2021/11/02 Vue.js