有谁知道使用OpenCV和C++提取Kinect的灰度深度图像的最简单方法是什么?该 Realm 中的任何源代码?
最佳答案
如果使用OpenNI SDK,则只需指向缓冲区即可:
//on setup:
xn::DepthGenerator depthGenerator;
xn::DepthMetaData depthMD;
cv::Mat depthWrapper;
//on update loop,
//after context.WaitAnyUpdateAll();
depthGenerator.GetMetaData(depthMD);
depthWrapper = cv::Mat(depthMD.YRes(), depthMD.XRes(), CV_16UC1, (void*) depthMD.Data());
请注意
depthWrapper
是const,因此您需要对其进行克隆才能对其进行操作