我设法在Lubunutu(Arm架构)中使用OpenNI2编译和安装opencv。我测试了/samples/cpp/openni_capture.cpp中提供的示例,它成功地与传感器通信并显示有关它的信息。但是,程序在显示图像/数据之前达到了一个点,没有任何反应,程序挂起 if(!capture.grab()。
for(;;)
{
...
if( !capture.grab() )
{
cout << "Can not grab images." << endl;
return -1;
}
else
{
if( retrievedImageFlags[0] && capture.retrieve( depthMap, CAP_OPENNI_DEPTH_MAP ) )
{
const float scaleFactor = 0.05f;
Mat show; depthMap.convertTo( show, CV_8UC1, scaleFactor );
imshow( "depth map", show );
}
...
}
我写了一些代码来确保问题出在那个函数中,而且我很确定。它甚至不显示错误消息。 有人知道发生了什么或如何解决这个问题? 谢谢
答案 0 :(得分:0)
好吧,如果有人碰到同样的问题,我使用专为http://forum.odroid.com/viewtopic.php?f=15&t=2090提供的Odroid U3(Arm)创建的抓取器解决了它
基本上代码保持不变,但我没有使用OpenCV中的VideoCapture类,而是使用了上面的代码。
最后,我可以使用opencv,pcl和ros与Arm board上的asus传感器=)。
干杯