#android #augmented-reality
#Android #дополненная реальность
Вопрос:
Я новичок в этой концепции дополненной реальности. Можно ли использовать маркеры для получения положения объекта, показанного в режиме просмотра с камеры. На самом деле приложение, которое я хочу, это: При запуске приложения запускается камера, а затем оно показывает местоположение здания, которое показано в режиме просмотра с камеры.
Комментарии:
1. Предложение StackExchange: area51.stackexchange.com/proposals/30436/augmented-reality
Ответ №1:
С чем вам нужно ознакомиться, так это с датчиками ориентации и магнитными датчиками, углом обзора камеры. Некоторые вещи устарели начиная с версии 3.0.
с помощью датчиков ориентации и магнитных датчиков вы получаете значения азимута, тангажа и крена. С этими значениями вы должны нанести свои маркеры. Все значения азимута относятся к истинному северу, поэтому вам нужно рассчитать свой азимутальный угол с помощью метода Location.bearingTo ().
Теперь, когда у вас есть значения азимута, тангажа и крена с ваших датчиков, вы можете размещать маркеры на экране SurfaceView вашей камеры. Нарисуйте свои маркеры с помощью холста на виде поверхности и обновите свои маркеры в соответствии с новыми значениями с датчиков. вот и все.
Теперь, если у вас есть ваши широта-долгота и широта здания, просто вычислите значения азимута и нанесите маркеры…
Ответ №2:
Традиционные опорные маркеры могут быть считаны только в ~ 10 раз больше их ширины / высоты, поэтому, если вы хотите использовать маркеры для определения здания издалека, они должны быть огромными. Естественные маркеры объектов можно считывать на больших расстояниях, но для таких объектов, как здания, сложность заключается в том, что дескрипторы объектов резко меняются в зависимости от масштаба (расстояния от здания).
Это похоже на желание показать людям, где находится неизвестное (пользователю) здание? В этом случае требование, чтобы это было в режиме просмотра (поэтому зависит только от компьютерного зрения), кажется ограничительным: типичный подход здесь заключается в определении положения камеры и ориентации (например, с помощью датчиков), а затем спроецировать известные 3D-координаты здания в этот вид.