opencv的VideoCapture()的python包装器。

pyvideoreader的Python项目详细描述


Python式视频阅读器

包装opencv'scv2.VideoCapture以简化python中视频文件的读取。在

安装

在终端窗口运行中:

conda install opencv
pip install pyvideoreader

使用

打开视频文件并读取第100帧:

^{pr2}$

或者使用负责打开和关闭视频的context manger

withVideoReader(video_file_name)asvr:# load the videoframe=vr[100]

支持切片语法:vr[start:end:step]。要遍历所有帧,需要使用vr[:]。要每100帧读取一次,从第500帧开始到第10000帧结束,请执行以下操作:

forframeinvr[500:10000:100]:do_something_with(frame)

列表、元组或范围也可以作为索引传递,例如vr[(42, 314, 999)]。在

注意,索引返回一个生成器-索引中的每个帧都是按需读取的,这样可以节省内存。如果一次需要所有帧,可以将其转换为列表list(vr[start:end:frame])。在

为了兼容性,videoreader也可以像底层的cv2.VideoCapture一样使用:

ret,frame=vr.read()# read next frame

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用JNA创建同一库的多个实例?   java在将Graphql查询作为JSON字符串传递时收到意外的令牌错误   OAuth2 oltu的java问题   java桌面应用程序使用的好的嵌入式数据库是什么?   java Firebase数据库高级查询选项   java正在使磁盘上的EhCache元素过期   java 安卓还原处于backstack中的片段的实例状态   XMemcached中的java异步集   java TimescaleDB是否使用与Postgresql完全相同的JDBC驱动程序?   java从网站c读取信息#   检查java Android中的字符串是否只包含数字和空格   c#如何向web服务发送特殊字符?   grails无法调用需要java的方法。lang.类参数?   java我在组合框中调用的方法不会运行所有代码,它只运行部分代码   java发送带有标头的HTTP GET请求