Python读取视频的两种方法(imageio和cv2)


Posted in Python onApril 15, 2018

用python读取视频有两种主要方法,大家可依据自己的需求进行使用。

方法一:

使用imageio库,没有安装的可用pip安装或自己下载,安装好后重启终端即可调用。

import pylab
import imageio
#视频的绝对路径
filename = '/path/to/your/video.mp4'
#可以选择解码工具
vid = imageio.get_reader(filename, 'ffmpeg')
for im in enumerate(vid):
 #image的类型是mageio.core.util.Image可用下面这一注释行转换为arrary
 #image = skimage.img_as_float(im).astype(np.float32)
 fig = pylab.figure()
 fig.suptitle('image #{}'.format(num), fontsize=20)
 pylab.imshow(image)
pylab.show()

方法二:

用cv2库,用这种方法的好处是返回的就是arrary,不用转换,但方法一可以指定显示某一帧,而这种方法是从头读到尾。

import numpy as np
import matplotlib.pyplot as plt
import pylab
import imageio
import skimage.io
import numpy as np 
import cv2 

cap = cv2.VideoCapture('/path/to/your/video.mp4') 

while(cap.isOpened()): 
 ret, frame = cap.read() 
 cv2.imshow('image', frame) 
 k = cv2.waitKey(20) 
 #q键退出
 if (k & 0xff == ord('q')): 
 break 

cap.release() 
cv2.destroyAllWindows()

大家可能注意到,两种方法的显示方法也是不一样的,这里不详细展开,实践一下便很清楚了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python入门篇之文件
Oct 20 Python
使用Python抓取模板之家的CSS模板
Mar 16 Python
python交互式图形编程实例(三)
Nov 17 Python
python用plt画图时,cmp设置方法
Dec 13 Python
Python实现对特定列表进行从小到大排序操作示例
Feb 11 Python
Django工程的分层结构详解
Jul 18 Python
详解python中的模块及包导入
Aug 30 Python
Python 日志logging模块用法简单示例
Oct 18 Python
Pytorch之parameters的使用
Dec 31 Python
python操作链表的示例代码
Sep 27 Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
python2.7实现FTP文件下载功能
Apr 15 #Python
python实现多线程网页下载器
Apr 15 #Python
Python实现定时精度可调节的定时器
Apr 15 #Python
Python编写一个优美的下载器
Apr 15 #Python
python实现音乐下载器
Apr 15 #Python
tensorflow 1.0用CNN进行图像分类
Apr 15 #Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 #Python
You might like
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
配置支持SSI
2006/11/25 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
Zend Framework教程之Zend_Config_Xml用法分析
2016/03/23 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
新闻内页-JS分页
2006/06/07 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
2016/01/25 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python群发邮件实例代码
2014/01/03 Python
Python编程实现正则删除命令功能
2017/08/30 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
tensorflow 中对数组元素的操作方法
2018/07/27 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
前台文员的岗位职责
2013/11/14 职场文书
机械电子工程毕业生自荐信
2013/11/23 职场文书
交通安全寄语大全
2014/04/08 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏