OpenCV中哪种边缘检测算法适合检测对象?

时间:2013-07-03 15:56:17

标签: opencv edge-detection object-detection

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

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

我正在使用QT IDE和opencv库。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以使用轮廓来检测任何对象。您可以通过查找轮廓区域来估计其大小。然后你可以用片刻找到物体的中心。