«

»

May 25

OpenNI 2.x and OpenCV interoperability [w/ code]

For those of you using OpenCV that are looking to upgrade from OpenNI 1.x to the new OpenNI 2.x, here's a bit of code to make life a tiny bit easier. It simply wraps the OpenNI 2.x APIs to expose a simple frame grabber for OpenCV.

The usage is very simple:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;

#include "OpenNI2OpenCVInterop.h"

int main(int argc, char** argv) {
    OpenNIOpenCVInterop::OpenNI2OpenCVInterop oni;
    if(oni.init() != openni::STATUS_OK)
        return 1;

    Mat cam_depthGRAY, cam_rgb;
    while(true) {
        oni.GrabDepthAndRGB(cam_depthGRAY, cam_rgb);

        imshow("depth",cam_depthGRAY);
        imshow("rgb",cam_rgb);
        if(waitKey(30)==27) break;
    }

    oni.stop();
}

Code

Grab the code: here

Enjoy,
Roy

Share
  • Matias

    Hi Roy, I'm working with OpenNI2 and OpenCV and I have just came across your wrapper. By chance don't you have a Windows version of it?

    Thanks in advance
    Cheers,
    Matias

  • Mohamed

    Yes, I also have the same use case as Matias, a platform independent version (or just a Windows version) would be really helpful.

    Thanks :)