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中shutil模块的常用文件操作函数用法示例
Jul 05 Python
python 中的int()函数怎么用
Oct 17 Python
Python实现读取Properties配置文件的方法
Mar 29 Python
windows下添加Python环境变量的方法汇总
May 14 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
python 自动重连wifi windows的方法
Dec 18 Python
Python3基本输入与输出操作实例分析
Feb 14 Python
Python利用for循环打印星号三角形的案例
Apr 12 Python
windows上彻底删除jupyter notebook的实现
Apr 13 Python
python3.6中anaconda安装sklearn踩坑实录
Jul 28 Python
python opencv肤色检测的实现示例
Dec 21 Python
如何用python清洗文件中的数据
Jun 18 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
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
十大使用PHP框架的理由
2015/09/26 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
详解vue高级特性
2020/06/09 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
Python 基础之字符串string详解及实例
2017/04/01 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
如何使用repr调试python程序
2020/02/28 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
甜品店的创业计划书范文
2014/01/02 职场文书
工程技术员岗位职责
2014/03/02 职场文书
销售活动策划方案
2014/08/26 职场文书
主婚人致辞精选
2015/07/28 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书