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 相关文章推荐
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
详解python调度框架APScheduler使用
Mar 28 Python
Python中支持向量机SVM的使用方法详解
Dec 26 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
Apr 18 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
Jun 26 Python
python+splinter自动刷新抢票功能
Sep 25 Python
详解Python 正则表达式模块
Nov 05 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
python创建与遍历List二维列表的方法
Aug 16 Python
python对常见数据类型的遍历解析
Aug 27 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
利用python实现后端写网页(flask框架)
Feb 28 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
一个分页的论坛
2006/10/09 PHP
几个学习PHP的网址
2006/11/25 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
JS Input里添加小图标的两种方法
2017/11/11 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
sublime text 3配置使用python操作方法
2017/06/11 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
基于Python生成个性二维码过程详解
2020/03/05 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
体育馆的标语
2014/06/24 职场文书
公司年底活动方案
2014/08/17 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
MySQL派生表联表查询实战过程
2022/03/20 MySQL
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL