我已经安装了OpenNi和SensorKinect作为教程here。
然后,我尝试从OpenCV open_capture.cpp运行示例代码。
相关代码为:
VideoCapture capture;
if( isVideoReading )
capture.open( filename );
else
{
capture.open( CAP_OPENNI2 );
if( !capture.isOpened() )
capture.open( CAP_OPENNI );
}
cout << "done." << endl;
if( !capture.isOpened() )
{
cout << "Can not open a capture object." << endl;
return -1;
}
但是我得到以下输出:
Device opening ...
done.
Can not open a capture object.
我将调试行放在代码中,就在前面。
cout << cv::getBuildInformation() << endl;
我得到:
OpenNI: YES (ver 1.5.4, build 0)
OpenNI PrimeSensor Modules: YES (/usr/lib/libXnCore.so)
因此,我认为一切都已正确安装。
此外,Kinect可以很好地工作,因为openni_launch和freenect_launch可以正常工作。
我该怎么办?
谢谢。