OpenNI2,BeagleBone Black,华硕XTION相机:在640x480处获得彩色流的问题

时间:2014-11-07 21:14:19

标签: c++ openni beagleboneblack openkinect

我正在尝试将XTION中的颜色和深度帧保存到BeagleBone Black(BBB)上以进行进一步分析。

我为BBB和我的开发计算机(带有Kubuntu 14.04的MacAir)编译和安装了OpenNI2。 SimpleRead在两个平台上都能正确运行。

我让我的程序在30fps正确地在MacAir上正确运行。从openni :: OpenNI :: waitForAnyStream(...)

成功返回颜色和深度帧

(我在生产者线程中轮询waitForAnyStream,它无限期地等待一个新帧。 然后将帧复制到缓冲区并放入boost spsc_queue以供消费者线程分析和保存。)

然后,我使用g ++交叉编译器将程序移植到BBB。当我在640x480上运行BBB时,openni :: OpenNI :: waitForAnyStream(...)永远不会返回。如果我将分辨率降低到320x240并将颜色流的像素格式更改为openni :: PIXEL_FORMAT_YUYV,则会正确返回。我可以使用YUYV格式,但我需要让640x480工作。

我的问题是你之前是否在使用OpenNI2框架时遇到过这个问题? 如果是这样,你是如何解决它的?

感谢您的时间, 本

PS。我无法在BBB上获得Kinect的认可。当我将它插入MacAir时,绿色指示灯亮起并且工作正常。在BBB上,它保持黑暗,我无法通过OpenNI2找到它。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Kinect的问题可能是kinect比ASUS需要更多的电流,所以也许你必须使用HUB然后将HUB连接到BBB。

关于华硕,(我不知道它能以多快的速度处理帧)但是你可能正试图让BBB的工作速度超过它。

相关问题