问题
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!
回答1:
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);
来源:https://stackoverflow.com/questions/11611585/opencv-openni-calibrate-kinect