我使用的是OpenCV 2.3.1附带的camshiftdemo.c程序:
https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/c/camshiftdemo.c?rev=1429
我想知道如何使用这个程序来指导机器人跟随选择的对象?我正在尝试运行一个实验,看看它是否有效,但显然我需要对其进行一些调整。
camshiftdemo的工作方式是在你选择的对象周围画一个红色的椭圆(用鼠标点击它)。随着物体的移动,红色椭圆也随之移动。如果物体移动得更远,椭圆的大小会减小,如果它离相机更近,椭圆的大小就会增加。
为了指示一个机器人,我在想,如果红色月食的大小减小,我告诉它向前移动,如果它增加,我告诉它向后移动。如果日食向左移动,机器人将向左移动,如果日食向右移动,机器人将向右移动。
听起来很简单,但是在这段代码中,日食是在哪里绘制的?如果物体在10秒内来回移动怎么办?这是否意味着机器人停留在同一位置(例如,我是否应该在机器人的移动中引入延迟?)?
我的目标是获得camshiftdemo.c代码来指示机器人移动{前进,后退,左转,右转}。
那么,我如何才能让机器人跟随一个物体,无论是使用月食的大小还是其他方式?
发布于 2012-10-24 08:17:58
看起来你是在寻求一种方法,将检测到的物体植入CamShift跟踪器。
根据你的机器人的处理能力,你可能想要考虑一种更简单的方法。如果你能选择你正在寻找的目标,我会选择像网球这样的东西,因为它们是非常鲜艳和独特的颜色。现在,您的对象具有已知的颜色特征,并且您可以使用轮廓处理相当简单地跟踪它。此外,如果您决定使用颜色跟踪,请考虑切换到HSV或YCbCr等颜色空间。这将允许颜色检测对强度变化较不敏感。Here是我在OpenCV中关于颜色隔离的较早的帖子之一。
您将采取的主要步骤是:
您可以选择将对象质心输入到CamShift跟踪器中,只需使用上述步骤作为采集模式。
希望这对你有帮助..。
https://stackoverflow.com/questions/13017003
复制相似问题