我在Visual Studio 2012中使用OpenCV 2.4.6(没有OpenNI)编写了一个OpenCV项目。
Project使用集成网络摄像头,但现在我想将Kinect摄像头用于RGB帧而不是网络摄像头。
目前我正在编写以下代码:
VideoCapture capture(CV_CAP_OPENNI); // I have tried with capture(0), capture(1)
if(!(capture.isOpened())){
cout << "OPENCV:Cannot open the WebCamera" << endl;
return -1;
}
结果是它无法打开捕获并且在这里失败。我是新手,请解释我是否需要安装任何东西或包含任何东西?我已经安装了Prime感知驱动程序。感谢。
答案 0 :(得分:2)
您可以使用这3种方法中的任何一种从Kinect传感器读取数据,
如需进一步参考,我想引导您完成此主题: How to take kinect video image and depth image with openCV c++?
HTH
答案 1 :(得分:0)
否(如果你正在尝试VideoCapture capture(CV_CAP_OPENNI);
它只取决于那个。有libfreenect或者好吧,但这是另一个故事..)
是(这可能是失败的原因)。
还要检查:cout << cv::getBuildInformation();
,看看你的opencv库是否是使用 openni支持构建:
Video I/O:
...
OpenNI: NO
OpenNI PrimeSensor Modules: NO
你必须从src重建opencv(安装了openni sdk),如果答案是'no'那么