2014-11-15 8 views
0

Мне удалось скомпилировать и установить opencv с OpenNI2 в Lubunutu (Arm architecture). Я протестировал пример, представленный в /samples/cpp/openni_capture.cpp, и ему удалось связаться с датчиком и отобразить информацию об этом. Тем не менее, программа достигает точки как раз перед показом изображений/данных и ничего не происходит, программа висит в строке если (! Capture.grab().OpenCV VideoCapture :: grab() зависает с OpenNI2 с использованием Asus Xtion Pro Live

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

Ну, в случае, если кто-то удары в ту же проблему, я решил ее использовать граббер, созданный специально для Odroid U3 (Arm), доступный по адресу http://forum.odroid.com/viewtopic.php?f=15&t=2090

В основном код остается прежним, но вместо использования класса VideoCapture из OpenCV я использовал тот, что был сверху.

Наконец, я могу использовать opencv, pcl и ros с датчиком asus на Arm Arm = =.

Cheers