2

我用 home 通过 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)

任何帮助深表感谢。谢谢!

4

1 回答 1

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);
于 2012-08-05T09:37:51.110 回答