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实现面向对像的ASP程序实例
Nov 10 Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
Python3解释器知识点总结
Feb 19 Python
创建Django项目图文实例详解
Jun 06 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
如何实现Django Rest framework版本控制
Jul 25 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
Python实现数值积分方式
Nov 20 Python
Python figure参数及subplot子图绘制代码
Apr 18 Python
python代码实现图书管理系统
Nov 30 Python
Python实现DBSCAN聚类算法并样例测试
Jun 22 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
用Flash图形化数据(一)
2006/10/09 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
js版本A*寻路算法
2006/12/22 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
Python的time模块中的常用方法整理
2015/06/18 Python
Python实现批量转换文件编码的方法
2015/07/28 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
销售总经理岗位职责
2014/03/15 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
七夕活动策划方案
2014/08/16 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
PyTorch中permute的使用方法
2022/04/26 Python
深入理解pytorch库的dockerfile
2022/06/10 Python