.net - 视频中移动物体速度测量算法

标签 .net matlab opencv video-processing

您使用智能手机中配备的相机拍摄了行驶中的汽车的视频。该视频的分辨率非常高,并假设已完成一些无损编码。 (显然尺寸会很大)。它正在以 60 fps 的速度播放。有哪些可能的方法可以从视频中测量汽车的真实速度? (可能并不存在适用于所有情况的完美解决方案,因此我愿意在特定条件下进行一些合理的假设(如果有的话)。

如果这是不可能的,我的下一个目标是测量汽车相对于视频中静止物体的速度。

编辑:

在我的例子中,相机始终静止,而汽车从左向右移动,并且以恒定速度移动。

我已经看过什么方法

当汽车移动时,我以已知的速度在相机前面移动一个物体(引用物体)。然后视频中就有两个移动物体,一个是已知的,另一个是未知的。通过适当的校准我可以找到汽车的速度。 但我正在寻找一种无需移动引用对象的解决方案。

最佳答案

如果您的相机是静止的,并且您的汽车以固定距离从左到右移动,那么您应该能够在整个序列中跟踪汽车,并计算出它移动的速度(以每帧像素为单位) 。然后,您将需要一个一次性校准步骤,计算出 mph 的转换系数,例如,您可能会计算出每帧 100 像素 = 30 mph,因此您可以将速度以每帧像素为单位乘以30/100。

如果您不知道到汽车的距离(或者更确切地说,如果距离不是恒定的),那么此方法将不起作用,因为较近的物体会比较远的物体在图像上移动得更快,即使实际上它们以相同的速度移动。

关于.net - 视频中移动物体速度测量算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10753191/

相关文章:

java - 如何连接到 Web 服务(启用 SSL 和代理接口(interface))

matlab - 将图改成ppt幻灯片

opencv - opencv中的SIFT无法正常工作

ios - 在 ios 中使用 opencv 用网格变换图像的特定区域

c++ - 如何在 Linux 中链接 QT 和 OpenCV

.net - 如何在我的项目中使用 GAC 中安装的 .net 程序集

c# - 在 react 性管道中管理状态

.net - 有没有办法在 ASP.net 中设置 Tab 顺序?

matlab - Matlab中的马哈拉诺比斯距离

database - MATLAB : why am I not getting the SQL result back in the cursor object?