OpenCv: не удается открыть объект захвата для Kinect

Я установил OpenNI и SensorKinect, следуя инструкциям Вот: и просмотрщик примеров работает просто отлично. Я скачал OpenCV 2.4.3, а затем сделал следующее:

  1. Mkdir релиз
  2. выпуск CD
  3. cmake-gui ..
  4. нажмите настроить
  5. установите WITH_OPENNI на галочку
  6. проверил что нашел OPENNI dirs и Primesense dir
  7. нажмите настроить и затем сгенерировать
  8. побежал сделать

Затем я пытаюсь запустить пример кода из OpenCV-2.4.3 / samples / openni_capture.cpp

Однако я получаю следующий вывод:

Device opening ...
done.
Can not open a capture object.

Соответствующий код:

VideoCapture capture(CV_CAP_OPENNI);
if( isVideoReading )
capture.open( filename );
else
capture.open( CV_CAP_OPENNI );

cout << "done." << endl;

if( !capture.isOpened() )
{
cout << "Can not open a capture object." << endl;
return -1;
}

1

Решение

ОК, у меня была такая же проблема.

Я решил это, установив SensorKinect драйвер снова (что-то пошло не так в первый раз), а затем я установил OpenCV 2.4.3, как вы описали:

mkdir release
cd release
cmake-gui ..
hit configure
enabled WITH_OPENNI
hit configure and then generate
ran sudo make

Я должен был бежать make с sudoиначе я все время получал ошибки.

И в конце вы должны сделать

sudo make install

Я имею в виду, в этом смысл всей процедуры выше, не так ли? 😉

0

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

Поместите эту строку отладки, cout << cv::getBuildInformation() << endl;в вашем коде, прямо перед


if( !capture.isOpened() )
{
cout << "Can not open a capture object." << endl;
return -1;
}

Это позволит вам узнать, установлен ли ваш opencv с openni. Если переключатели,


OpenNI: YES (ver 1.5.4, build 0)
OpenNI PrimeSensor Modules: YES (/usr/lib/libXnCore.so)

являются NO в вашем случае вы можете подумать о перекомпиляции ваших модулей opencv с cmake флаг -D WITH_OPENNI=ON,

Ура!

0

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