我正在计算视频文件('foo.h264')中的总帧数。在
>>> import numpy as nm
>>> import cv2
>>> cap = cv2.VideoCapture('foo.h264')
>>> cap.get(CV_CAP_PROP_FRAME_COUNT)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'CV_CAP_PROP_FRAME_COUNT' is not defined
>>> cap.get(5)
25.0
>>> cap.get(7)
-192153584101141.0
所以我认为get(5)
给出了帧速率,get(7)
给出了总帧数。显然在上面的例子中{.avi
文件中找到这些值。在
我可以通过将FPS
乘以视频的持续时间来计算总帧数,但我不确定为.h264
指定的FPS是否正确。为什么总帧数是负数?这是虫子吗?
P、 S:我用树莓皮相机录制了这个视频文件(.h264
)。在
另一个解决方案是使用imageio,它适用于一些视频。在
事实证明OpenCV不支持h.264格式(Link)。但是,在Python OpenCV documentation的视频捕获文档中提到了get命令的一个整型参数。所以,你的计数是正确的,用5和7代替“CV_CAP_PROP_FRAME_count”。你可以试着把树莓派的捕获格式改成avi格式。在
相关问题 更多 >
编程相关推荐