-1

我必须制作一个机器人,它必须在充满岩石的竞技场中自主克服障碍。机器人必须找到通过该区域的方式并到达终点。我正在考虑使用像 canny 和 sobel 这样的边缘检测算子来解决这个问题。

我想知道这些是否适合这个问题。如果是这样,那么在检测到边缘之后,我怎样才能让机器人找到路径,克服岩石障碍?

我正在使用 QT IDE 和 opencv 库。

4

3 回答 3

1

由于您将分析视频帧,并且机器人大部分时间都在移动,因此图像差异和光流也会有所帮助。除非环境和障碍物很简单并且具有已知属性,否则仅靠边缘检测可能没有多大帮助。发布现场照片可以帮助那些想要回答问题的人。

于 2013-07-04T04:43:39.110 回答
0

您可以使用轮廓来检测任何对象。您可以通过找到轮廓的面积来估计它的大小。然后您可以使用矩来找到对象的中心。

于 2013-07-04T03:53:47.130 回答
0

是的,canny 是一个非常好的边缘检测器。事实上,opencv 实现使用 sobel 来获得梯度估计。在边缘检测之前,您可能需要对图像应用高斯滤波器。边缘是寻找岩石的好特征,但根据背景的不同,颜色等其他特征也可能有用。如果您通过立体、激光扫描仪或类似 kinect 的传感器收集 3D 场景信息,可能会更容易。还可以考虑检测何时撞到岩石并建立它们所在位置的地图。

于 2013-07-04T02:10:08.690 回答