使用opencv和kinect primesense相机显示RGB视频帧



我在Visual studio 2012中用OpenCV 2.4.6(不带OpenNI)编写了一个OpenCV项目。

项目使用集成的网络摄像头,但现在我想使用Kinect相机的RGB帧,而不是网络摄像头。

  1. 是否可以在不安装OpenNI的情况下使用Kinect prime sense相机
  2. 我需要安装OpenNI并将其链接到OpenCV和所有东西才能使用Prime sense设备的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 sense驱动程序。谢谢

您可以使用以下三种方法中的任何一种从Kinect传感器读取数据,

  1. Microsoft Kinect for Windows SDK
  2. OpenKinect的libfreenect API
  3. OpenNI+OpenKinect

为了进一步参考,我想引导您进入这个主题:如何使用opencvc++拍摄动态视频图像和深度图像?

HTH

  1. 否(如果你正在尝试VideoCapture capture(CV_CAP_OPENNI);,这取决于此。还有libfreenect之类的,但那是另一回事。)

  2. 是的(这可能就是它失败的原因)。

还要检查:cout << cv::getBuildInformation();,看看你的opencv库是否是用openni支持构建的:

Video I/O:
  ...
  OpenNI:                      NO
  OpenNI PrimeSensor Modules:  NO

如果答案是"否",则必须从src(安装了openni-sdk)重建opencv,

最新更新