2012-07-23 112 views
2

我用家裏通過Kinect的捕捉到:OpenCV的OpenNI校準Kinect的

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

現在我不知道有沒有校準Kinect的有深度的像素值是正確的。 也就是說,如果我從圖像RBG中取像素(u,v),從圖像深度中取像素(u,v)的正確深度值?

depthMap.at<uchar>(u,v) 

任何幫助,非常感謝。 謝謝!

回答

0

您可以檢查是否註冊是像這樣:

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

,如果它不是,設置它像這樣:

capture.set(CV_CAP_PROP_OPENNI_REGISTRATION,1); 

或:

if(capture.get(CV_CAP_PROP_OPENNI_REGISTRATION) == 0) capture.set(CV_CAP_PROP_OPENNI_REGISTRATION,1);