Как установить стабильный маркер (сплошной круг на изображении). Что будет в том же положении на следующем кадре камеры?

Я собираюсь поместить маркеры на изображения, сделанные с выхода камеры, аналогично тому, что делает приложение Google Photoscan. Как я вижу, приложение Google Photoscan накладывает четыре сплошных круга на изображение, которое накладывается, а затем перемещает круг центральной оси вокруг всех четырех сплошных кругов и захватывает четыре изображения. Соедините их вместе, чтобы создать изображение высокого качества.

Скриншоты для справки (сплошные точки, которые вы можете видеть, всегда находятся на одном и том же цветовом фоне. Даже если вы перемещаете камеру вокруг и обратно в исходное положение, они будут отображаться в том же положении):

Точки Solid, которые вы можете видеть, всегда находятся на одном и том же цветовом фоне. Даже если вы перемещаете камеру вокруг и обратно в исходное положение, они будут отображаться в одном и том же положении UmRfc.jpg

Мне очень любопытно, как они могут стабилизировать эти четыре сплошных круга? Используют ли они какой-либо алгоритм оптического потока? Или какие-либо датчики движения? Я тестировал приложение на белом цвете или на том же цветовом фоне, что эти точки остаются стабильными.

Я реализовал эту функцию, используя алгоритм оптического потока (метод Lucas-Kanade в openCV). Но они нестабильны, когда я использую их на одном цветовом фоне или на белом фоне (в основном в алгоритме Лукаса-Канаде, если он не найдите функцию, которую он пытается сдвинуть эту точку). Вот скриншот для моей реализации:

a0Dgz.jpg

Ответ 1

Вы почти близки. Использование одиночного сенсора либо одного гироскопа, либо компаса не будет работать. Объединив результат, мы можем достичь вашего требования.

Ингредиент 1: Акселерометр

Акселерометры в мобильных телефонах используются для определения ориентации телефона. Гироскоп, или гироскоп для краткости, добавляет дополнительный размер информации, предоставляемой акселерометром, путем отслеживания вращения или поворота. Акселерометр измеряет линейное ускорение движения.

Ингредиент 2: гироскоп

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

Ингредиент 3: Цифровой компас

Цифровой компас, который обычно основан на датчике, называемом магнитометром, обеспечивает мобильные телефоны с простой ориентацией относительно магнитного поля Земли. В результате ваш телефон всегда знает, какой путь является North, чтобы он мог автоматически вращать ваши цифровые карты в зависимости от вашей физической ориентации.

С помощью акселерометра вы можете получить действительно "шумный" информационный вывод это отзывчиво, или вы можете получить "чистый" вывод, который вялый. Но когда вы комбинируете 3-осевой акселерометр с 3-осевым гироскопом, вы получить результат, который одновременно является чистым и отзывчивым.

Возвращаясь к вашему вопросу, метод Lucas-Kanade в результате задержек с открытым кодом, вызванных сбоем или датчиками, не дающими точного результата с вашего устройства.