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

#android #augmented-reality

#Android #дополненная реальность

Вопрос:

Я новичок в этой концепции дополненной реальности. Можно ли использовать маркеры для получения положения объекта, показанного в режиме просмотра с камеры. На самом деле приложение, которое я хочу, это: При запуске приложения запускается камера, а затем оно показывает местоположение здания, которое показано в режиме просмотра с камеры.

Комментарии:

1. Предложение StackExchange: area51.stackexchange.com/proposals/30436/augmented-reality

Ответ №1:

С чем вам нужно ознакомиться, так это с датчиками ориентации и магнитными датчиками, углом обзора камеры. Некоторые вещи устарели начиная с версии 3.0.

с помощью датчиков ориентации и магнитных датчиков вы получаете значения азимута, тангажа и крена. С этими значениями вы должны нанести свои маркеры. Все значения азимута относятся к истинному северу, поэтому вам нужно рассчитать свой азимутальный угол с помощью метода Location.bearingTo ().

Теперь, когда у вас есть значения азимута, тангажа и крена с ваших датчиков, вы можете размещать маркеры на экране SurfaceView вашей камеры. Нарисуйте свои маркеры с помощью холста на виде поверхности и обновите свои маркеры в соответствии с новыми значениями с датчиков. вот и все.

Теперь, если у вас есть ваши широта-долгота и широта здания, просто вычислите значения азимута и нанесите маркеры…

Ответ №2:

Традиционные опорные маркеры могут быть считаны только в ~ 10 раз больше их ширины / высоты, поэтому, если вы хотите использовать маркеры для определения здания издалека, они должны быть огромными. Естественные маркеры объектов можно считывать на больших расстояниях, но для таких объектов, как здания, сложность заключается в том, что дескрипторы объектов резко меняются в зависимости от масштаба (расстояния от здания).

Это похоже на желание показать людям, где находится неизвестное (пользователю) здание? В этом случае требование, чтобы это было в режиме просмотра (поэтому зависит только от компьютерного зрения), кажется ограничительным: типичный подход здесь заключается в определении положения камеры и ориентации (например, с помощью датчиков), а затем спроецировать известные 3D-координаты здания в этот вид.