这是我的问题:
假设有一个路线供机器人通过,并且有一个头顶网络摄像头可以看到整个路线,机器人可以用它来导航。现在的问题是,在此网络摄像头的图像上检测机器人(位置和航向)的最佳方法是什么?我正在考虑一些解决方案,比如在上面放 LED,或者两个单独的彩色圆圈,但这些似乎不是最好的方法。
是否有更好的解决方案,如果有,我真的很感激一些 opencv2 python 代码示例,因为我是计算机视觉的新手。
我会执行以下操作,并且我很确定它会起作用:
我假设视频流的背景(机器人附近)非常静态,所以第一步是: 1.背景扣除 2. 检测前景中的运动,这是您的机器人以及背景模型中发生变化的所有其他内容,您需要在这里进行一些阈值处理 3.连通分量检测以获得斑点 4. 识别与机器人对应的斑点(最大?) 5.现在可以获得blob的坐标 6. 如果您通过多个帧跟踪斑点,您可以计算方向
您可以通过谷歌搜索关键字找到很好的例子
独特的颜色可以与颜色过滤和模板匹配等配合使用,但上述方法更通用。