Question

I use home to capture by kinect:

capture.retrieve( depthMap, CV_CAP_OPENNI_DEPTH_MAP )
capture.retrieve( bgrImage, CV_CAP_OPENNI_BGR_IMAGE )

Now I don't know if I have to calibrate kinect to have depth pixel value correct. That is, if I take a pixel (u, v) from the image RBG, get the correct value of depth taking the pixels (u, v) from the image depth?

depthMap.at<uchar>(u,v)

Any help is much appreciated. Thanks!

Was it helpful?

Solution

You can check if registration is on like so:

cout << "REGISTRATION     " << capture.get( CV_CAP_PROP_OPENNI_REGISTRATION ) << endl;

and if it's not, set it like so:

capture.set(CV_CAP_PROP_OPENNI_REGISTRATION,1);

or:

if(capture.get( CV_CAP_PROP_OPENNI_REGISTRATION ) == 0) capture.set(CV_CAP_PROP_OPENNI_REGISTRATION,1);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top