Я собираюсь начать мой последний год проекта, который требует от меня разработки алгоритма Kinect Fusion. Мне сказали написать код на C ++ и использовать API OpenNI.
Проблема:
Прежде всего, если вы планируете использовать OpenNI с Kinect, я советую вам не использовать версию 2.0, которая доступна на официальном сайте. Причина в том, что в настоящее время еще нет драйвера для поддержки Microsoft Kinect (компания, стоящая за OpenNI — PrimeSense — поддерживает только драйвер для их собственного датчика, который отличается от Kinect, и сообщество не дало времени для написания драйвера Kinect пока нет).
Вместо этого возьмите посылку из простой открытый проектСтраница загрузок — на ней есть все, что вам нужно: библиотеки из линии 1.5.x.
Помните, что эти драйверы не позволяют управлять двигателем наклона Kinect и светодиодной подсветкой. Вам может понадобиться использовать libfreenect для этого.
Что касается начала, то и пакеты OpenNI, и NITE содержат примеры исходного кода для простых демонстраций технологии. Это хорошая идея, чтобы начать с одного и изменить его в соответствии с вашими потребностями. Вот что я сделал, чтобы получить свой собственный проект — управление Google Chrome с помощью Kinect — за работой.
Что касается изучения C ++, существует множество материалов. Я рекомендую книгу «Мышление на С ++» Брюса Экеля, если вы технический специалист.
Существует несколько примеров, написанных для OpenNI, доступных в репозитории GitHub: https://github.com/OpenNI/OpenNI
Лучше всего начать с обзора Страница ресурсов в OpenNI.org, с последующим Справочное руководство. Затем рассмотрите несколько примеров — запустите их, пройдитесь по ним и измените их, чтобы понять, как они работают.