OpenCV VideoCapture :: grab()使用Asus Xtion Pro Live与OpenNI2挂起

时间:2014-11-15 18:03:45

标签: c++ opencv openni odroid asus-xtion

我设法在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 );
        }

       ...
    }

我写了一些代码来确保问题出在那个函数中,而且我很确定。它甚至不显示错误消息。 有人知道发生了什么或如何解决这个问题? 谢谢

1 个答案:

答案 0 :(得分:0)

好吧,如果有人碰到同样的问题,我使用专为http://forum.odroid.com/viewtopic.php?f=15&t=2090提供的Odroid U3(Arm)创建的抓取器解决了它

基本上代码保持不变,但我没有使用OpenCV中的VideoCapture类,而是使用了上面的代码。

最后,我可以使用opencv,pcl和ros与Arm board上的asus传感器=)。

干杯