Подтвердить что ты не робот

В чем разница между OpenNI и OpenKinect?

Я рассматриваю возможность использования Kinect в моих проектах, но я полностью потерял все библиотеки. Не знаю, что именно. Самое главное, что я читаю материал об OpenNI и OpenKinect. Но не знаю их отношений/различий. PS. Я использую Ubuntu или Mac.

4b9b3361

Ответ 1

OpenKinect - это сообщество людей, а не библиотека. Сообщество OpenKinect выпускает драйвер libfreenect Kinect. libfreenect и OpenNI + SensorKinect - это две конкурирующие, открытые библиотеки/драйверы. libfreenect (Apache 2.0 или GPLv2) происходит от исходного, перепроектированного/взломанного драйвера Kinect, тогда как OpenNI + SensorKinect получен из кода PrimeSense с открытым исходным кодом (LGPL).

Оба проекта работают на Windows, Linux (Ubuntu) и Mac OS X. Оба проекта позволяют вам получать доступ к изображениям цвета и глубины с камеры. Проекты несовместимы и не могут использоваться одновременно.

Различия между библиотеками - это управление двигателем (у libfreenect есть это, OpenNI + SensorKinect - нет) и интеграция с промежуточным ПО NITE для поддержки NUI более высокого уровня (только для OpenNI + SensorKinect). Эти различия, как правило, приводят проекты к одной из библиотек.

Ответ 2

Я должен добавить, что OpenNI 2 делает OpenNI непригодным для использования ничем иным, кроме Windows.

OpenNI 1.x с Kinect официально не поддерживался на других платформах, пока парень с именем avin2 не создал проект SensorKinect, который находится поверх OpenNI и предоставляет интерфейс Kinect OpenNI. OpenNI 2.0 является основным рефакторингом и официально не поддерживает ничего, кроме Windows для Kinect. http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/thread/a11ff6d9-7fbe-4636-8ff0-92d6220ac3f8/. На момент написания этой статьи у OpenKinect возникла проблема с новейшим kinect (модель 1473), что делает устройство непригодным для использования. Я не знаю, выполняется ли исправление.

Следовательно, подведем итог: - Если проблема с моделью устройства 1473 решена, то OpenKinect - это путь. И, честно говоря, я бы не стал доверять чему-либо еще, предназначенному для конкретной платформы. - Пока эта проблема не будет решена, ваш единственный вариант - использовать OpenNI 1.5 + SensorKinect, который устарел, а разработка на нем остановлена, но это единственное, что работает со всеми моделями kinect. Фактически.

Ответ 3

Хотя этот вопрос много лет назад, я хотел бы добавить что-то, что знаю.

Я довольно любитель, поэтому заставить Kinect работать на Mac всегда было сложно для меня. Я загрузил код из github и выполнил несколько инструкций, но я не смог заставить его работать правильно. Я помню, около 10 месяцев назад я получил работу Kinect, OpenNI на Mac, но она была очень нестабильной. Программа образцов glview показала глубинные и цветные изображения Kinect, но время от времени она терпела неудачу.

Недавно я узнал, что парень создал формулу доморощенного для openni (1 и 2) вместе с NiTE и libfreenect. Я попытался, и это безупречно работало на Mavericks 10.9.2 + 10.9.3, поэтому, если у вас нет Kinect, работающего правильно, посмотрите: https://github.com/totakke/homebrew-openni

Ответ 4

В это время написания OpenNi совместим с Kinect для Windows, libfreenect - нет.