2017-02-07 14 views
1

Tango разработан Google, у которого есть api, который используется для отслеживания движения на мобильных устройствах. Мне было интересно, можно ли применить его к автономному java-приложению без андроида (для java-SE). Если нет, то мне было интересно, есть ли какие-либо апи, похожие на танго, где они отслеживают восприятие движения и глубины.Компьютерное зрение google tango

Я пытаюсь захватить данные движения из видео, а не камеры/веб-камеры. Если бы это было возможно вообще.

ответ

4

Googles Tango API только совместим только с устройствами с поддержкой Tango. Таким образом, он не работает на всех мобильных устройствах только с устройствами, поддерживающими Tango. Если вы попытаетесь использовать API с устройством, которое не поддерживает Tango Enabled, оно не будет работать.

Я думаю, вам следует немного изучить OpenCV его библиотеку компьютерного зрения с открытым исходным кодом, которая совместима с Java и многими другими языками. Он позволяет анализировать видео без необходимости в использовании многих датчиков (таких как датчики глубины резкости, которые в основном используются на устройствах с поддержкой Tango).

2

Tango API доступен только на устройствах с поддержкой Tango, которых не так много. При этом можно создать собственное приложение для отслеживания движения и глубины с помощью стандартной Java.

Для отслеживания движения все, что вам нужно - это акселерометр и гироскоп, который в большинстве случаев поставляется с большинством телефонов в настоящее время. Все, что вы в основном делаете, это интегрировать эти показания с течением времени, и вы должны иметь представление о позиции устройства и его ориентации. Обратите внимание, что точность будет зависеть от вашего оборудования и реализации, но будьте готовы к тому, чтобы он был довольно неточным благодаря ошибкам дрейфа датчиков и интеграции (см. Ответ here).

Глубинное восприятие более сложное и будет зависеть от настройки вашего оборудования. Я бы порекомендовал вам заглянуть в отличную библиотеку OpenCV, у которой уже есть привязки Java, и убедитесь, что вы хорошо разбираетесь в основах компьютерного зрения (калибровка, матрица камеры, модель обскуры и т. Д.). Первые два ответа в this Вопрос SO должен помочь вам приступить к определению глубины, используя одну камеру.