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

时间:2013-11-21 20:00:40

标签: opencv kinect openni primesense

我在Visual Studio 2012中使用OpenCV 2.4.6(没有OpenNI)编写了一个OpenCV项目。

Project使用集成网络摄像头,但现在我想将Kinect摄像头用于RGB帧而不是网络摄像头。

  1. 是否可以在不使用OpenNI的情况下使用Kinect主要感应相机?
  2. 我是否需要安装OpenNI并将其链接到OpenCV和所有东西只是为了使用Prime感应设备的RGB摄像头?
  3. 目前我正在编写以下代码:

    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感知驱动程序。感谢。

2 个答案:

答案 0 :(得分:2)

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

  1. Microsoft Kinect for Windows SDK
  2. OpenKinect的libfreenect API
  3. OpenNI + OpenKinect
  4. 如需进一步参考,我想引导您完成此主题: How to take kinect video image and depth image with openCV c++?

    HTH

答案 1 :(得分:0)

  1. 否(如果你正在尝试VideoCapture capture(CV_CAP_OPENNI);它只取决于那个。有libfreenect或者好吧,但这是另一个故事..)

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

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

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

    你必须从src重建opencv(安装了openni sdk),如果答案是'no'那么