Я нашел интересный app в Google Play, см. Эту демонстрацию на YouTube. Может ли кто-нибудь посоветовать, как это сделать? Любые общие принципы, техника, библиотеки?Дополненная реальность 3D-модель от 2D-графика
ответ
Я нашел Andar библиотеку для Android платформы, которые делают именно то, что показано на видео
И еще одну библиотеку NyARToolKit в порт Java оригинального ARToolKit
Возможно, вам захочется начать с чтения на Camera Resectioning.
Очень Вкратце, это процесс оценки параметров, связанных с (нелинейной) проекцией, выполняемой объективом камеры. Существует R (поворот) и T (перевод), которые вы, возможно, уже знаете, из перспективной проекции. Кроме того, есть и другие вещи, такие как искажение объектива, которое входит в преобразование, которое необходимо вычислить (или вычислено из модели/модели камеры/телефона).
Для определения этих параметров можно использовать положение некоторых функций на распечатанном изображении. Как только они будут известны, просто используйте это как свою матрицу ModelViewProjection и сделайте свой автомобиль/космический корабль/дракон.
Я не особо знаю это приложение, но он, конечно же, не реконструирует идеальную модель 3D-геометрического автомобиля , которая содержит интерьер и двигатель из этих рисунков.
Посмотрите на веб-страницу приложения, похоже, что есть только ограниченный набор автомобилей, который вы можете скачать и распечатать самостоятельно: только приложение распознает, какой чертеж (это простое машинное обучение и обработка изображений), загружает предварительно сделанную 3D-модель и отображает ее. Экран стабилизируется путем оценки внешних и внутренних параметров камеры, которые могут выполняться через соответствия точек (это не так просто, учитывая, что они снимают только плоскую поверхность, которая должна только восстанавливать гомографию), но можно попытаться с помощью OpenCV.
это даже немного проще, так как они непосредственно использовать QR-коды (или аналогичный), чтобы распознать, что нужно показывать вместо рисунка;) – WhitAngl