Начните программировать приложение Kinect, используя OpenNI

Я собираюсь начать мой последний год проекта, который требует от меня разработки алгоритма Kinect Fusion. Мне сказали написать код на C ++ и использовать API OpenNI.

Проблема:

  • Я читаю онлайн, но я все еще не понимаю, как начать. Я установил Microsoft Visual Studio 2012 Express, а также OpenNI, но как мне начать? (Мне сказали сначала потренироваться в кодировании перед началом работы над проектом)
  • Если я хочу попрактиковаться и понять, как работают коды и как Kinect реагирует на код, какой-нибудь совет, как мне начать? Поскольку я ДЕЙСТВИТЕЛЬНО растерялся в данный момент и зашел в тупик, не зная, что делать дальше со многими сведениями в Интернете, которые я на самом деле не понимаю.

2

Решение

Прежде всего, если вы планируете использовать OpenNI с Kinect, я советую вам не использовать версию 2.0, которая доступна на официальном сайте. Причина в том, что в настоящее время еще нет драйвера для поддержки Microsoft Kinect (компания, стоящая за OpenNI — PrimeSense — поддерживает только драйвер для их собственного датчика, который отличается от Kinect, и сообщество не дало времени для написания драйвера Kinect пока нет).

Вместо этого возьмите посылку из простой открытый проектСтраница загрузок — на ней есть все, что вам нужно: библиотеки из линии 1.5.x.

  • OpenNI является базовым фреймворком — он содержит только архитектуру для естественной обработки данных интерфейса.
  • NITE — это проприетарная (бесплатная) библиотека от PrimeSense, которая предоставляет код для обработки необработанных изображений глубины в значимые данные — отслеживание рук, отслеживание скелета и т. Д.
  • SensorKinect — это поддерживаемый сообществом драйвер для взаимодействия Kinect с OpenNI.

Помните, что эти драйверы не позволяют управлять двигателем наклона Kinect и светодиодной подсветкой. Вам может понадобиться использовать libfreenect для этого.

Что касается начала, то и пакеты OpenNI, и NITE содержат примеры исходного кода для простых демонстраций технологии. Это хорошая идея, чтобы начать с одного и изменить его в соответствии с вашими потребностями. Вот что я сделал, чтобы получить свой собственный проект — управление Google Chrome с помощью Kinect — за работой.

Что касается изучения C ++, существует множество материалов. Я рекомендую книгу «Мышление на С ++» Брюса Экеля, если вы технический специалист.

9

Другие решения

Существует несколько примеров, написанных для OpenNI, доступных в репозитории GitHub: https://github.com/OpenNI/OpenNI

Лучше всего начать с обзора Страница ресурсов в OpenNI.org, с последующим Справочное руководство. Затем рассмотрите несколько примеров — запустите их, пройдитесь по ним и измените их, чтобы понять, как они работают.

0

По вопросам рекламы [email protected]