【问题标题】:"Determine velocity 2D of an object using Camera"- How to track the centroid of the object?“使用相机确定物体的 2D 速度”- 如何跟踪物体的质心?
【发布时间】:2012-10-07 14:46:43
【问题描述】:

我正在尝试制作一个项目“使用相机确定物体的 2D 速度”。这只是二维速度。我想在 OpenCV 中使用 Lucas Kanade 算法。但是我无法区分我的对象属于哪个圆锥,也找不到要跟踪的对象的质心(这是黑色背景中的白色对象位置,该对象有任何形状,例如:正方形、椭圆形、.. )。如何跟踪物体的质心以确定运动的距离?我需要使用 Lucas Kanade 算法来制作这个项目吗?请帮我。

【问题讨论】:

  • 试试这个link。也许它会帮助你。

标签: c opencv


【解决方案1】:

要获得物体的速度,您需要做两件事,首先您需要检测每个图像中的物体(并按照您的建议将其压缩到质心),其次您需要将检测到的物体跨不同图像关联起来.完成后,可以通过简单的运动速度 = 距离/时间等式轻松计算速度。

如果您只在每张图像中检测到一个对象(假设检测到的是对象),则关联很容易,尽管这种方法在现实世界中可能会失效。

检测你的物体是我认为你遇到困难的地方。如果它真的像纯黑色背景上的单个白色物体一样简单,那么找到质心应该很简单,只需平均所有白色像素的坐标。如果你有一个嘈杂的图像,那么你将需要先做一些清理,例如形态关闭和打开操作以去除小点噪声。

【讨论】:

  • 谢谢克里斯。这是一个很好的解决方案,我认为是的。你能再帮我一个问题吗?有人要我在 OpenCV 中使用 Lucas Kanade 算法来确定速度。我非常仔细地阅读了这个算法。但我不明白这种算法在这种情况下有什么用?! (对不起我的英语)
  • LK 光流算法会为你追踪一组点,而这组轨迹将帮助你获得速度。如果您可以在问题中添加一些图片,则可能会更容易提供进一步的帮助。
  • 谢谢克里斯。最后,我放弃了 Lucas Kanade 算法。我在 2013 年通过结合“相机校准”、“卡尔曼滤波器”、“均值偏移跟踪”算法完成了这个项目。
猜你喜欢
  • 2020-06-20
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 2012-10-11
  • 2018-05-16
  • 1970-01-01
相关资源
最近更新 更多