OpenNI2, BeagleBone Black, камера ASUS XTION: проблемы с получением цветного потока в разрешении 640×480

Я пытаюсь сохранить рамки цвета и глубины из XTION на BeagleBone Black (BBB) ​​для дальнейшего анализа.

Я скомпилировал и установил OpenNI2 как для BBB, так и для своего компьютера разработчика (MacAir с Kubuntu 14.04). SimpleRead корректно работает на обеих платформах.

Я получил мою программу для корректного запуска на MacAir со скоростью 30 кадров в секунду. Кадры цвета и глубины успешно возвращаются из openni :: OpenNI :: waitForAnyStream (…)

(Я опрашиваю waitForAnyStream внутри потока производителя, который неопределенно долго ждет нового кадра.
Затем кадр копируется в буфер и помещается в буст spsc_queue для анализа и сохранения потоком потребителя.)

Затем я перенес программу на BBB, используя кросс-компилятор g ++. Когда я работаю на BBB в 640×480, openni :: OpenNI :: waitForAnyStream (…) никогда не возвращается. Если я уменьшу разрешение до 320×240 и изменим формат пикселя для цветного потока на openni :: PIXEL_FORMAT_YUYV, он вернется правильно. Я могу жить с форматом YUYV, но мне нужно, чтобы 640×480 работал.

Мой вопрос: видели ли вы эту проблему раньше с платформой OpenNI2?
Если так, как ты это исправил?

Спасибо за ваше время,
Бен

PS. Я не мог заставить Kinect быть признанным вообще на BBB. Когда я подключаю его к MacAir, загорается зеленый светодиод, и он работает правильно. На BBB остается темно, и я не могу заставить OpenNI2 найти его. Есть мысли по этому поводу?

0

Решение

Проблема с Kinect может заключаться в том, что для kinect требуется больший ток, чем у ASUS, поэтому, возможно, вам придется использовать концентратор, а затем подключить концентратор к BBB.

А насчет ASUS (я не знаю, насколько быстро он может обрабатывать кадры), но, вероятно, вы пытаетесь заставить BBB работать быстрее, чем он может.

0

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


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