Закрыть
Библиотеки Processing для работы с Kinect

Библиотеки Processing для работы с Kinect

В Processing есть два вида библиотек: основные библиотеки, такие как OpenGL и Serial, которые уже включены в Processing и распространяемые библиотеки, создаваемые и поддерживаемые сообществом Processing.

Распространяемые библиотеки должны быть загружены и сохранены в папке libraries

В настоящее время, насколько мне известно, есть три доступные для Processing библиотеки, поддерживающие работу с сенсором Kinect. Две из них предназначены для конкретных операционных систем, одна работает под Mac Os X, Linux и Windows. Эти библиотеки также различаются реализованными в них функциями.

БиблиотекаАвторОсноваОССайт
OpenKinectDaniel ShiffmanOpenKinect/LibfreenectMac OS XGitHub

Сайт автора
dLibsThomas DiewaldOpenKinect/LibfreenectWindowsGitHub

Сайт автора
simple-openniMax RheinerOpenNI/NITEMac OS X, Linux, WindowsОф.сайт

 

Simple-OpenNI

Simple-OpenNI является оберткой для Processing библиотек OpenNI и NITE, реализованной Максом Рейнером, художником и разработчиком программного обеспечения, читающим лекции в университете Цюриха.
NITE и OpenNI написаны на C++ и Рейнер написал обертки всех функций и методов для использования их в Java. Затем он написал библиотеку, позволяющую сделать Java-код доступным из Processing. В итоге, это позволяет иметь всю функциональность OpenNI и NITE в Processing.

Установка Simple-OpenNI на Mac OS X Maverics

zip-архив с последней, на текущей момент, версией Simple-OpenNi version 1.96 можно скачать отсюда. Как и для любых сервисов Google для авторизации требуется наличие почтового ящика на Gmail.

simple_openni

Скачиваем архив, распаковываем и помещаем его в папку с библиотеками Processing. Для того, чтобы узнать, где Processing ищет свою папку libraries, заходим в меню настроек Processing ProcessingPreferences...

processing_preferences

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

preferences_window_processing

Скаченную папку с требуемой библиотекой, в моем случае, необходимо перенести в ~/Documents/Processing/libraires.

Далее закрываем Processing и вновь запускаем его.

Заходим в меню Sketch → Import Library...

Мы должны увидеть установленную библиотеку SimpleOpenNI.

installed_library_processing

Вместе с библиотеками, как правило, идут примеры кода. Заходим в меню File → Examples. Ищем интересующую библиотеку и выбираем понравившийся пример.

examples_library_processing

Запускаем код на выполнение.

У меня версия 1.96 библиотеки Simple-OpenNI работать категорически отказалась. Экран с ошибкой выглядит следующим образом.

error_simple_openni

Какая-то проблема с оберткой Java для freenect. Я пробовал различные режимы (переключаются в верхнем правом углу IDE Processing): Java, PDE X, JavaScript, Python — все бестолку.

Параметры моей системы: Mac OS X 10.9.5, Processing 2.2.1, сенсор Kinect model 1414.

Проблема с запуском была решена лишь установкой библиотеки Simple-OpenNI версии 0.27. Если у вас таже проблема, делаем следующее.

  • Скачать файл SimpleOpenNI-0.27.zip.
  • Распаковываем его и перемещаем в папку с библиотеками Processing.
  • Скачиваем программу-установщик требуемых модулей и распаковываем архив.
  • Открываем Терминал, переходим в папку с распакованной программой и выполняем скрипт install.sh:
cd ./OpenNI_NITE_Installer-OSX
sudo ./install.sh

 

OpenKinect

Эта библиотека работает только в Mac OS X. Примеры из этой библиотеки начали работать только после того, как я установил старую версию Simple-OpenNI, как описано выше. До этого возникала такая же ошибка.

Для установки заходим в меню Sketch → Import Library... → Add Library...

add_openni_library

Находим в списке доступных библиотек OpenKinect и жмем Install

install_openkinect

Проверяем работоспособность библиотеки

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

Дочка любезно согласилась выступить в качестве экспериментатора.

Результат выполнения кода примера из библиотеки Simple-OpenNI
Результат выполнения кода примера из библиотеки Simple-OpenNI

Пример PointCloud из библиотеки OpenKinect
Пример PointCloud из библиотеки OpenKinect

Похоже, что работает. Облако точек получено c помощью сенсора Kinect. Технология структурированный свет в действии.

[add_ratings]

Оставить ответ

Ваш email не будет опубликован.Обязательны поля помечены *