首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用光流计算实际速度

使用光流计算实际速度
EN

Stack Overflow用户
提问于 2011-02-07 14:07:10
回答 2查看 8.2K关注 0票数 0

如何使用从两张图像获得的光流信息来确定物体的实际速度?有人能帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2011-02-08 02:28:49

正如评论员已经说过的那样,我们需要关于你的问题的更多信息。基本上:是的,可以从图像计算真实世界的速度

但所有这一切都取决于以下几点:

  • 你的相机是固定的吗,或者它甚至是移动的吗?
  • 你是否尝试计算任何物体在场景中移动的速度,或者你有固定的车道,就像安装了摄像头的街道,物体(汽车)总是沿着一条车道移动?
  • 如果是后者,你可以在现实世界的街道上进行测量吗?就像在木板路上标记点(永久或简单地找出现实世界中x米的距离将在你的相机图像上以像素显示多长)
  • 如果你不能在现实世界的场景中进行这些测量,你需要提供相机到场景/地面的角度,相机到场景的距离,以及相机的参数的信息。

要计算场景中任何被跟踪对象的速度,您可能需要所有后面的内容来真正计算场景中的距离。但这要困难得多。

如果你有一个固定车道的情况,即你想要测量汽车的速度,我更喜欢在现实世界中测量或标记点的方法。

因为如果有了这些信息:

代码语言:javascript
复制
x m = y px

并且一个物体在t时间内移动了(你通过计算的刷新率得到这个时间),你可以计算出它在1秒内移动了多少像素,既然你知道多少像素是一米,你就可以知道它的速度,单位是米每秒(或者你喜欢的任何其他单位)。

您也可以在场景中设置两个标记,然后简单地测量对象从一个标记移动到另一个标记所需的帧数(因此需要多少时间)。这将为您提供更平均的速度,因为如果您以较小的时间步长进行计算,则可能会由于分段问题或简单地因为测量的时间跨度越短,两者之间的变化相当小而得到嘈杂的结果。

好的,对于分割,你可以简单地尝试减法。将两个或三个后面的帧相减。移动对象(以及已更改的图像部分)将导致非零值,而稳定图像部分的颜色值应减去约为0的值。

也许这能帮你解决你的问题。当然,这取决于你的设置和你想要的目标。然后你需要提供更多的信息...

票数 2
EN

Stack Overflow用户

发布于 2013-07-16 15:07:57

这个方法相当长,但简而言之:

您可以做的是设置一个值,用于指定对象与相机的距离。

然后捕获第一帧并将其保存在某个地方。

捕获最后一帧并将其保存在某个位置。

在两个帧上应用阈值。

从第一帧的左侧开始修剪所有像素,然后对第二帧执行相同的操作。

对于详细的教程,我认为这篇文章可能会对你有所帮助。

http://morefunscience.blogspot.in/2012/05/calculating-speed-using-webcam.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4918494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档