Дополненная реальность SDK с OpenCV [закрыто]
Я разрабатываю SDK дополненной реальности на OpenCV. У меня были некоторые проблемы, чтобы найти учебники по этой теме, Какие шаги, чтобы следовать, возможные алгоритмы, быстрое и эффективное кодирование в реальном времени и т. д.
пока я собрал следующую информацию и полезные ссылки.
установка OpenCV
скачать последняя версия релиза.
вы можете найти руководства по установке здесь (платформы: linux, mac, windows, java, android, iOS).
онлайн документация.
Дополненная Реальность
для начинающих здесь это простой код дополненной реальности в OpenCV. Это хорошее начало.
для тех, кто ищет хорошо разработанный современный SDK, я нашел некоторые общие шаги, которые должна иметь каждая дополненная реальность, основанная на отслеживании маркеров, учитывая функции OpenCV.
основная программа: создает все классы, инициализацию, захват кадров из видео.
-
класс AR_Engine: управляет частями приложения дополненной реальности. Должно быть 2 основных состояния:
- определение: пытается обнаружить маркер в сцене
- отслеживание: как только он обнаружен, использует более низкие вычислительные методы для отслеживания маркера в предстоящем кадры.
также должны быть некоторые алгоритмы для нахождения положения и ориентации камеры в каждом кадре. Это достигается путем обнаружения преобразования гомографии между маркером, обнаруженным в сцене, и 2D-изображением маркера, которое мы обработали в автономном режиме. Объяснение этого метода здесь (стр. 18). Основными шагами для оценки позы являются:
загрузка камеры внутренняя Параметры. Ранее извлеченные в автономном режиме с помощью калибровки.
-
загрузить шаблон (маркер) для отслеживания: это изображение плоского маркера, который мы будем отслеживать. Необходимо извлечь функции и сгенерировать дескрипторы (точки) для этого шаблона, так что позже мы можем сравнить с функциями из сцены. Алгоритмы для этого задача:
-
для каждого обновления кадра запустите алгоритм обнаружения для извлечение объектов из сцены и генерации дескрипторов. Опять же у нас есть несколько вариантов.
-
найти игр между шаблоном и дескрипторами сцены.
найти фонетическое письмо матрица из этих матчей. RANSAC можно использовать до того, как найти inliers/outliers в наборе совпадений.
-
экстракт Камера Поза от проективное преобразование.
- пример кода на позе из гомографии.
- пример кода по гомографии из позы.
полные примеры:
2 ответа:
Как правило, если вы можете выбрать маркеры, вы сначала обнаружите квадратную цель с помощью детектора края, а затем либо Hough, либо просто контуры - затем определите конкретный маркер из внутреннего дизайна. Вместо того, чтобы использовать общий сопоставитель точек.
посмотри Aruco для хорошо написанного примера кода.