2015-07-22 3 views
1

В настоящее время я работаю над роботизированным проектом: робот должен захватить куб с помощью камеры Kinect, которая обрабатывает обнаружение куба и вычисляет координаты.Обнаружение куба с использованием C++ и openCV

Я новичок в компьютерном зрении. Сначала я работал над статическим изображением квадрата, чтобы получить базовое понимание. Используя C++ и openCV, мне удалось получить углы (и их координаты пикселя xy) квадрата, используя сглаживание (удаление шума), обнаружение кромок (функция canny), обнаружение линий (преобразование Hough) и пересечение линий (математический расчет) на упрощенная картина (однородный фон).

Регулируя некоторый порог, я могу добиться обнаружения углов, предполагая, что у меня есть только один квадрат и нет функции линии в фоновом режиме.

Теперь мой вопрос: есть ли у вас какое-либо направление/рекомендация/совет/литература о алгоритме распознавания куба?

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

Kinect также предоставил глубинную камеру, которая дает расстояние от пикселя от камеры. Может быть, я могу использовать это, чтобы обойти «сложную» обработку изображений?

Заранее спасибо.

+0

с использованием глубины изображения является IMHO лучшей идеей. Попробуйте найти самолеты в трехмерном пространстве. Если есть пересекающиеся плоскости, у которых одинаковый размер, это, вероятно, куб. Использование 2D-изображения дает только некоторые проблемы, такие как искажение перспективы и т. Д., Что делает его неоднозначным, является ли объект кубом или просто выглядит как куб с особой точки зрения (если вы не используете несколько изображений из разных позиций) – Micka

ответ

0

OpenCV 3.0 с contrib включает модуль surface_matching.

Камеры и аналогичные устройства с возможностью ощущения 3D Структура становится все более распространенной. Таким образом, использование глубины и интенсивности информация для соответствия 3D-объектам (или частям) имеет решающее значение для компьютерного зрения. Области применения варьируются от промышленных контроля на повседневные действия для людей с ослабленным зрением. Задача в оценке распознавания и позе в изображениях диапазона нацелена на идентифицировать и локализовать запрошенный объект 3D-формы, сопоставив его с приобретенной базой данных.

http://docs.opencv.org/3.0.0/d9/d25/group__surface__matching.html