从 Python openCV 中每一帧的视频中获取经过的时间

Getting elapsed time from a video at each frame in 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