Я пытаюсь сохранить кадры цвета и глубины из XTION на BeagleBone Black (BBB) для дальнейшего анализа.OpenNI2, BeagleBone Black, камера ASUS XTION: проблемы с цветовым потоком на 640x480
Я скомпилировал и установил OpenNI2 как для BBB, так и для моего компьютера разработки (MacAir с Kubuntu 14.04). SimpleRead работает правильно на обеих платформах.
Я правильно выполнил свою программу на MacAir со скоростью 30 кадров в секунду. Как цветные, так и глубинные кадры успешно возвращаются из openni :: OpenNI :: waitForAnyStream (...)
(Я проверяю waitForAnyStream внутри нити производителя, которая бесконечно ждет бесконечного нового кадра. Затем кадр копируется в буфер и помещать в boost spsc_queue для анализа и сохранения по потребительскому потоку.)
Затем я портировал программу на BBB с помощью кросс-компилятора g ++. Когда я бегу на BBB на 640x480, openni :: OpenNI :: waitForAnyStream (...) никогда не возвращается. Если я уменьшу разрешение до 320x240 и измените формат пикселя для потока цвета на openni :: PIXEL_FORMAT_YUYV, он вернется правильно. Я могу жить с форматом YUYV, но мне нужно работать 640x480.
Вопрос в том, что вы уже видели эту проблему с каркасом OpenNI2? Если да, то как вы это исправили?
Спасибо за ваше время, Бен
PS. Я не мог заставить Kinect вообще узнавать на BBB. Когда я подключаю его к MacAir, загорается зеленый светодиод, и он работает правильно. На BBB он остается темным, и я не могу заставить OpenNI2 его найти. Любые мысли по этому поводу?
Только некоторые вопросы, которые могут помочь найти ошибку. Вы скомпилировали openni2 с флагом процессора ARM? is 'openni :: OpenNI :: waitForAnyStream (...)' возвращает ошибку или что-то еще? для kinect, какие драйверы вы установили? что я могу думать, это то, что не получает достаточную мощность или у нее нет правильных драйверов. – api55
Hi @ api55, я использую адаптер переменного тока для Kinect, поэтому я думаю, что он получает достаточную мощность. Просто, чтобы быть уверенным, что я также подключил адаптер питания BBB вместе с мини-USB-кабелем к концентратору с питанием (я читал, что это может вызвать проблемы с превышением тока ...) openni :: OpenNI :: waitForAnyStream не возвращает никаких ошибок, он никогда не возвращается! Я использую драйвер libfreenect для OpenNI2. Теперь я использую ту же установку на ODROID-XU3, и все работает нормально. (ODROID-XU3 - одна черта мощного SoC) – bensch128