在Python openCV中获取每帧视频的运行时间



我有一个正在进行图像处理的视频文件。然而,我需要每帧所经过的时间。

到目前为止,我有

frames = camera.get(cv2.CAP_PROP_FRAME_COUNT)
fps = camera.get(cv2.CAP_PROP_FPS)
seconds_per_frame = fps/frames
counter = 0
while True:
//get frame
counter += seconds_per_frame

使用我现在拥有的这个代码是很挑剔的。它一开始给了我实际视频的时间,但后来开始变得不准确。例如,它会说当前帧处于12秒。但当我真正打开视频文件并转到那一帧时,只有7秒。

你们在分析视频时是如何计算时间的?

我看不到您的视频以便检查,但我怀疑您正在累积浮点错误。

尝试使用帧计数器和fps来导出经过的时间,如下所示:

elapsed = frameNumber / fps

最新更新