使用摄像头确定物体的2D速度-如何跟踪物体的质心?

4

我正在尝试制作一个“使用摄像头确定物体2D速度”的项目。这只是2D速度。我想在OpenCV中使用Lucas Kanade算法。但是我无法区分哪些角属于我的对象,也无法找到我的对象的质心来进行跟踪(这是白色物体放置在黑色背景中,该物体具有任何形状,例如:正方形、椭圆形等)。如何跟踪物体的质心以确定运动的距离?我需要使用Lucas Kanade算法来完成此项目吗?请帮助我。


尝试这个链接。也许它会对你有所帮助。 - Afaq
1个回答

2
要获取物体的速度,您需要做两件事情,首先需要在每个图像中检测物体(并将其压缩为质心,正如您所建议的那样),其次需要将检测到的物体关联到不同的图像上。完成这些步骤后,可以通过简单的运动方程速度=距离/时间轻松计算出速度。
如果每个图像中只检测一个物体,则关联很容易(只需假设检测是物体),尽管这种方法在现实世界中容易出错。
检测您的物体是您遇到困难的地方。如果它真的只是一个白色物体放在纯黑背景上,那么找到质心应该很简单,只需平均所有白色像素的坐标即可。如果您有一个嘈杂的图像,则需要先进行一些清理,例如形态学闭合和开启操作以去除小的噪点。

感谢Chris。我认为那是一个很好的解决方案。你还能帮我回答一个问题吗?有人让我在OpenCV中使用Lucas-Kanade算法来确定速度。我非常仔细地阅读了这个算法。但是我不理解在这种情况下这个算法有什么用处?!(抱歉我的英语) - thongbvt
1
LK光流算法将为您跟踪一组点,这组轨迹将有助于提供速度信息。如果您能在问题中添加一些图像,可能会更容易帮助解决问题。 - Chris
感谢Chris。最终,我放弃了Lucas Kanade算法。我在2013年通过结合“相机标定”、“卡尔曼滤波”和“均值漂移跟踪”算法完成了这个项目。 - thongbvt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接