2014-09-02 2 views
1

Этот запрос связан с настройкой датчика затылочной структуры с помощью SDN OpenNI2. SDK уже используется в семействе устройств обнаружения глубины MS Kinect, основанных на технологии XBox 360. Структурный датчик в основном представляет собой чрезвычайно уменьшенную версию MS Kinect/Carmine, которая специально построена с учетом iPad. Тем не менее, производители сделали его настраиваемым с помощью OpenNI2 SDK.Ошибка инициализации StructureSensor с OpenNI2 и NiViewer

Я пытаюсь настроить это устройство с помощью NiViewer, входящего в состав интерфейса OpenNI2. Основываясь на кратком руководстве по началу работы по следующей ссылке, «UsbInterface = 2» должен быть изменен на «UsbInterface = 0» в файле PS1080.ini, и этот шаг должен позволять глубине и ИК-потокам этого устройства работать правильно.

http://com.occipital.openni.s3.amazonaws.com/Structure%20Sensor%20OpenNI2%20Quick%20Start%20Guide.pdf

Однако, когда NIViewer запускается, несмотря на показывающий прибор, как соединенный, это не поток какой-либо из потоков этого устройства. После нескольких попыток я обнаружил, что можно щелкнуть правой кнопкой мыши по NIViewer и вручную включить как потоки (глубины, так и IR). Однако, когда это будет сделано, появляется следующая ошибка (для попытки потока IR):

Не удалось создать ИК-поток: XnOniDevice: невозможно инициализировать поток типа 1: не удалось установить интерфейс USB! поток: не удалось создать с помощью источника 1 Контекст: Не удалось создать поток из устройства: 0237c220, источник 1

Основываясь на моем собственном поиске, подобный «не удалось установить интерфейс USB» проблемы объявленную для Kinect с MacOSX но решение не очень специфично для датчика структуры с 64-битной Windows 7.

Если вы непосредственно смотрите в XnOniDevice.cpp, он показывает отсутствие потоков поимки:

https://github.com/OpenNI/OpenNI2/blob/master/Source/Drivers/PS1080/DriverImpl/XnOniDevice.cpp

Я считаю, перекомпиляция источника не должна быть необходимой, так как это не требуется для Windows, на основе систем. Любая помощь в этом отношении будет высоко оценена. Я отправлю отчет, если найду решение этой проблемы.

ответ

4

Изучив подробности редактирования файла «PS1080.ini», я заметил, что решение этой проблемы было простым. Точки с запятой ';' в файле INI в основном используются в комментариях, и именно там была ошибка. Если вы забыли удалить ';' перед командой «UsbInterface = 0» комментарий в основном игнорируется. После сохранения Датчик работает отлично, и в окне NIViewer можно увидеть как глубину, так и ИК-каналы.

Смежные вопросы