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实现监控linux性能及进程消耗性能的方法
Jul 25 Python
python获取图片颜色信息的方法
Mar 18 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
python实现扫描ip地址的小程序
Apr 16 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
python操作gitlab API过程解析
Dec 27 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
Python如何转换字符串大小写
Jun 04 Python
python 使用递归的方式实现语义图片分割功能
Jul 16 Python
Django数据模型中on_delete使用详解
Nov 30 Python
python 多态 协议 鸭子类型详解
Nov 27 Python
Python中的 No Module named ***问题及解决
Jul 23 Python
Python实现socket库网络通信套接字
Jun 04 #Python
python cv2图像质量压缩的算法示例
Jun 04 #Python
高考要来啦!用Python爬取历年高考数据并分析
单身狗福利?Python爬取某婚恋网征婚数据
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
Python 中random 库的详细使用
Jun 03 #Python
详解Python常用的魔法方法
You might like
BBS(php &amp; mysql)完整版(二)
2006/10/09 PHP
表单复选框向PHP传输数据的代码
2007/11/13 PHP
PHP 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
PHP数据过滤的方法
2013/10/30 PHP
PHP CURL使用详解
2019/03/21 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
Python入门篇之编程习惯与特点
2014/10/17 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
小学班主任工作随笔
2015/08/15 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
浅谈Python协程asyncio
2021/06/20 Python
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL