This submission was motivated by the Kinect Matlab submission that provided an interface to OpenNI version 1.5. There was a significant reworking of the interface in OpenNI v2.2 that necessitated a bit of a rethink. The current interface is a single mex routine that acts as a 'switchyard'. You indicate which operation you want to perform on the device via the first argument which should be an integer.
You need to install OpenNI 2.2 first before you build this mex function.
I have provided short compilation script which shows how to build the mex application. You should edit the filename variables in this script to match your system configuration.
In order to run this mex file you need to copy the contents of the OpenNI/Redist directory to your current working directory. There may be a way to avoid this by messing with your DYLD_LIBRARY_PATH but I haven't tested this.
Once you have this built you can type mxNI to see the operations that you can perform.
This code assumes that you only have one OpenNI device attached
It has only been tested on MacOSX version 10.8.3.
When you run the compilation on this system their is an annoying warning regarding a dangling pragma.
This code is functional but more bells and whistles could be added. Fortunately the structure of the code is quite simple so please feel free to make it better.