2013-07-03 6 views
-2

Я должен сделать бота, который должен самостоятельно преодолевать препятствия на арене, которая будет заполнена камнями. Бот должен найти свой путь через эту область и достичь конечной точки. Я думаю о том, чтобы использовать такие операторы с кратным детектором, как canny и sobel для этой проблемы.Какой алгоритм обнаружения края в OpenCV подходит для обнаружения объектов?

Я хочу знать, подходят ли эти варианты для этой проблемы. Если это так, то после обнаружения краев, как я могу заставить бота найти путь, преодолевая препятствия на камне?

Я использую библиотеку QT IDE и opencv.

+0

добро пожаловать в stackoverflow. Это слишком широкий вопрос, вам нужно сузить его до определенного вопроса и, желательно, упомянуть о том, что вы уже пробовали. Скорее всего, ваш вопрос будет закрыт, как есть. – alrikai

ответ

0

Да, canny - очень хороший детектор края. Фактически реализация opencv использует sobel для получения оценки градиента. Возможно, вам понадобится применить фильтр Гаусса к изображению до обнаружения края. Края - хорошие функции для поиска камней, но в зависимости от фона могут быть полезны и другие функции, такие как цвет. Вероятно, было бы проще, если бы вы собрали информацию о 3D-сцене через стереофонический или лазерный сканер или датчик типа kinect. Также подумайте о том, чтобы обнаружить, когда вы натыкаетесь на скалы и создаете карту того, где они находятся.

0

Вы можете использовать контуры для обнаружения любого объекта. Вы можете оценить его размер, найдя область контуров. Затем вы можете использовать моменты, чтобы найти центр объекта.

1

Поскольку вы будете анализировать кадры видео, и робот будет перемещаться большую часть времени, различия изображения и оптический поток тоже будут полезны. Обнаружение края может не очень помочь, если окружение и препятствия просты и имеют известные свойства. Публикация фотографии сцены может помочь тем, кто хочет ответить на вопрос.

Смежные вопросы