首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用cv2在python中知道一个文件的总帧数

如何用cv2在python中知道一个文件的总帧数
EN

Stack Overflow用户
提问于 2014-08-18 16:41:13
回答 3查看 101K关注 0票数 95

如何使用open cv模块通过Python知道一个文件( .avi)中的总帧数。

如果可能的话,我们可以通过这个获得视频文件的所有信息(分辨率,fps,时长等)。

EN

回答 3

Stack Overflow用户

发布于 2016-05-24 16:51:34

对于较新的OpenCV版本(我使用3.1.0),它是这样工作的:

代码语言:javascript
复制
import cv2

cap = cv2.VideoCapture("video.mp4")
length = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
print( length )

对于其他视频属性cv2.CAP_PROP_*也是类似的

票数 150
EN

Stack Overflow用户

发布于 2014-08-18 16:46:27

代码语言:javascript
复制
import cv2

cap = cv2.VideoCapture(fn)

if not cap.isOpened(): 
    print "could not open :",fn
    return

length = int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_COUNT))
width  = int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT))
fps    = cap.get(cv2.cv.CV_CAP_PROP_FPS)

有关详细信息,请参阅here

此外,所有这些都是有保留的,并不是所有这些道具都是强制性的,有些可能不能用于捕获/视频编解码器

票数 46
EN

Stack Overflow用户

发布于 2018-08-22 00:06:20

以下是它如何与Python3.6.5(在蟒蛇上)和OpenCV 3.4.2一起工作。注意:对于官方OpenCV website中给出的任何属性,您都需要将"CV_“从"CV_CAP_PROP_xx”中去掉。

代码语言:javascript
复制
import cv2
cap = cv2.VideoCapture("video.mp4")
property_id = int(cv2.CAP_PROP_FRAME_COUNT) 
length = int(cv2.VideoCapture.get(cap, property_id))
print( length )
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25359288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档