【发布时间】:2017-09-05 11:17:48
【问题描述】:
我正在从事一些机器学习项目,我在其中使用 卡尔曼滤波器 跟踪器跟踪了人们。我想计算每个人在视频中的时间。
我尝试使用以下逻辑: 假设人出现在 5 帧中,视频 FPS 为 15,那么我们可以说人在视频中 (5*15) 持续了 75 秒。
注意:-我已经在代码中假设并硬编码了 FPS 值。我没有找到任何方法来获取 FPS,因为我正在传递视频帧进行跟踪。
但问题是,如果我对 FPS 值进行硬编码,那么每当 FPS 发生变化时(我不知道是什么时候),我必须更改代码,否则会给出错误的结果。
【问题讨论】:
-
是的。但是如何得到那个乘法因子?
-
显然,在不知道 fps 的情况下,您无法计算任何时间(除非视频中有其他时间提示,如时钟)。通常,您应该从相机中获得每一帧的微秒精度时间戳。如果不是这种情况,请使用适当的相机/图像采集卡及其 SDK。
-
相机每一帧的微秒精度时间戳,我可以做到,但它不是那么有效的解决方案
-
5 帧 @ 15fps 是 0.333 秒,而不是 75 秒。
-
是的。但我无法硬编码 FPS 值客栈代码。
标签: opencv machine-learning kalman-filter darknet