这是我的问题:
假设有一个机器人要经过的课程,并且有一个可以看到整个过程的头顶网络摄像头,并且机器人可以使用它来导航。现在的问题是,在这个网络摄像头的图像上检测机器人(位置和航向)的最佳方法是什么?我正在考虑一些解决方案,例如在其上放置 LED 或两个单独的彩色圆圈,但这些似乎不是最好的方法。
有没有更好的解决方案,如果是的话,我真的很感激它的一些 opencv2 python 代码示例,因为我是计算机视觉的新手。
这是我的问题:
假设有一个机器人要经过的课程,并且有一个可以看到整个过程的头顶网络摄像头,并且机器人可以使用它来导航。现在的问题是,在这个网络摄像头的图像上检测机器人(位置和航向)的最佳方法是什么?我正在考虑一些解决方案,例如在其上放置 LED 或两个单独的彩色圆圈,但这些似乎不是最好的方法。
有没有更好的解决方案,如果是的话,我真的很感激它的一些 opencv2 python 代码示例,因为我是计算机视觉的新手。
我会做以下事情,我很确定它会起作用:
我假设视频流的背景(机器人附近)是相当静态的,所以第一步是: 1. 背景减法 2. 检测前景中的运动,这是你的机器人和从背景模型改变的所有其他东西,您需要在这里进行一些阈值处理 3. 连接组件检测以获取 blob 4. 识别与机器人相对应的 blob(最大?) 5. 现在您可以获得 blob 的坐标 6. 如果您可以计算航向通过多个帧跟踪您的 blob
你可以通过谷歌搜索关键字找到很好的例子
独特的颜色适用于颜色过滤和模板匹配等,但上述方法更通用。