2011-02-07 66 views
0

如何使用从两个图像获得的光流信息找到物体的实际实际速度?谁能帮我吗?使用光流计算实际速度

+3

你必须知道这是从摄像机和移动方向距离(从照相机中对角远使得它在X方向移动较慢,即使它可能会快)。如果你知道这些变量,那么速度实际上是可以获得的。 – Blender

+4

没有违法意图,但计算机视觉是一个如此复杂的问题,这么短的问题是无法回答的。尝试缩小它,至少描述你想跟踪的风景和物体。 –

+0

+1 @PauloScardine。另外,@Blender指出,由于需要区分图像中其他可能移动的组件,因此需要大量关于目标对象的x,y,z坐标的元数据。现在,它变成了2D到3D图像查看问题。也许[this](http://www.google.ca/url?sa=t&source=web&cd=2&ved=0CCYQFjAB&url=http%3A%2F%2Fwww.cise.ufl.edu%2F~lok%2Fteaching%2Fdcvef05%2FSeeing %25203D%2520from%25202D%2520Images.ppt&RCT = J&q = 2D%20image%20depth&EI = KJRPTbTNMcfZgAfqh_AE&USG = AFQjCNGN8YiXnEYerlAE7yx6nl5uz2LsjQ及CAD = RJA)将有助于 – inspectorG4dget

回答

2

作为评论员已经表示,我们需要一些关于您的问题的更多信息。 基本上是:是的,这可以从图像

计算真实世界的速度,但所有这一切都取决于以下几件事:

  • 是您的相机固定或者是它甚至移动
  • 您是否尝试计算在场景中任何位置移动的任何物体的速度,或者您是否拥有固定车道,如用摄像机拍摄的街道和物体(汽车)将始终沿着一个车道移动?
  • 如果是后者,您可以在现实世界的街道上进行测量吗?像浮标上的标记点(永久性或简单地了解真实世界中x米的距离将以像素为单位显示在相机图像上多长时间)
  • 如果您无法在真实世界场景中进行这些测量,您将需要提供相机与场景/地平面的角度信息,相机到场景的距离以及相机的参数。

为了计算上你可能会需要的所有东西,后者要真正计算场景的距离场景中的任何跟踪对象的速度。但是这更困难。

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

因为如果有一个信息:

x m = y px 

和对象t时间移动y px(您要计算的更新速度获取时间),你可以计算出多少像素,将在已经转移1秒,因为你知道一米有多少像素,你可以知道它的速度,单位为米/秒(或者你喜欢的任何其他单位)。

你也可以在场景中设置你的两个标记,许多帧(因此需要多少时间)从一个标记移动到OT所需的对象她的。这会给你一个更平均的速度,因为如果你在小时间步骤中进行计算,由于分割问题或仅仅因为在测量的时间间隔越短之间的变化相当小,就可能得到嘈杂的结果。

那么,对于分割,你可以简单地尝试一个减法方法。分别抽取两个或三个以下的帧。移动物体(以及因此已更改的图像部分)将导致非零值,而稳定图像部分的颜色值应减去约为0.

也许这可以帮助您解决问题......但是,这取决于你的设置和你期望的目标......你需要提供更多的信息,然后...

+0

让我解释一下这个场景。我们实际上坐在车内,例如汽车内。然后使用相机,我们将拍摄任何物体的照片。这个对象在路上。将提供相机与道路之间的固定距离。所以通过从相机取得连续的图像,我们必须计算车辆的速度。这怎么可能? –

1

这种方法是很长,但在短:

你可以做的是设置一个值,指定物体距相机的距离。

然后捕捉第一帧并保存在某处。

捕捉上一帧并保存在某处。

在两个框架上应用阈值。

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

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

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

+0

请注意,只有链接的答案是不鼓励的,所以答案应该是搜索解决方案的终点(而另一个引用的中途停留时间往往会过时)。请考虑在此添加独立的摘要,并将链接保留为参考。 – kleopatra