这是我的问题:
假设有一个机器人要通过的课程,并且有一个头顶网络摄像头可以看到整个过程,机器人可以用来导航。现在的问题是,在这个网络摄像头的图像上检测机器人(位置和航向)的最佳方法是什么?我在考虑一些解决方案,比如在上面放 LED,或者两个单独的彩色圆圈,但这些似乎不是最好的方法。
有没有更好的解决方案,如果是,我真的很感激一些opencv2 python代码示例,因为我是计算机视觉的新手。
执行以下操作,我很确定它会起作用:
我假设视频流的背景(机器人附近)是相当静态的,所以第一个步骤是:1. 背景减法2.检测前景中的运动,这是您的机器人以及从背景模型更改的其他所有内容,您需要在此处进行一些阈值设置3. 连接组件检测以获取 blob4. 识别与机器人对应的斑点(最大?5.现在您可以获取斑点的坐标6. 如果通过多个帧跟踪 Blob,则可以计算标题
您可以通过谷歌搜索关键字找到好的例子
独特的颜色可以与颜色过滤和模板匹配等一起使用,但上述方法更通用。
我在这个上面创建了一个完整的演练。
http://www.instructables.com/id/How-to-Track-your-Robot-with-OpenCV/