如何使用open cv模块通过Python知道一个文件( .avi)中的总帧数。
如果可能的话,我们可以通过这个获得视频文件的所有信息(分辨率,fps,时长等)。
发布于 2016-05-24 16:51:34
对于较新的OpenCV版本(我使用3.1.0),它是这样工作的:
import cv2
cap = cv2.VideoCapture("video.mp4")
length = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
print( length )
对于其他视频属性cv2.CAP_PROP_*
也是类似的
发布于 2014-08-18 16:46:27
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。
此外,所有这些都是有保留的,并不是所有这些道具都是强制性的,有些可能不能用于捕获/视频编解码器
发布于 2018-08-22 00:06:20
以下是它如何与Python3.6.5(在蟒蛇上)和OpenCV 3.4.2一起工作。注意:对于官方OpenCV website中给出的任何属性,您都需要将"CV_“从"CV_CAP_PROP_xx”中去掉。
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 )
https://stackoverflow.com/questions/25359288
复制相似问题