I got OpenNI working with official OpenCV Java Bindings.
I had to recompile and enable WITH_OPEN_NI, like stated in OpenCV documentation for getting Kinect to work. Then, the problem was to get the constants for OpenNI. It seems that, like you said, CV_CAP_OPENNI is not defined in Java binding.
The code looked like this:
int CV_CAP_OPENNI = 900;
VideoCapture capture = new VideoCapture(CV_CAP_OPENNI);
capture.grab();
Mat depthMap = new Mat();
int CV_CAP_OPENNI_DEPTH_MAP = 0;
capture.retrieve( depthMap, CV_CAP_OPENNI_DEPTH_MAP);
Mat show = new Mat();
depthMap.convertTo( show,CvType.CV_8UC1, 0.05f );
the constant values were extracted from D:\opencv\modules\highgui\include\opencv2\highgui\highgui_c.h
I believe the best way to do it is to check python scripts that generate Java classes and make them include those constants to generated jar.
