XnStatus nRetVal = XN_STATUS_OK;
xn::Context context;
// 初始化上下文对象
nRetVal = context.Init();
// TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK
// 创建深度生产节点
xn::DepthGenerator depth;
nRetVal = depth.Create(context);
// TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK
// 开始生产数据
nRetVal = context.StartGeneratingAll();
// TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK
// 主循环
while (bShouldRun)
{
// 等待数据更新
nRetVal = context.WaitOneUpdateAll(depth);
if (nRetVal != XN_STATUS_OK)
{
printf("Failed updating data: %s\n", xnGetStatusString(nRetVal));
continue;
}
// 获得当前深度图
const XnDepthPixel* pDepthMap = depth.GetDepthMap();
// TODO:处理深度图
}
// 释放资源
context.Shutdown();
xn::Context context;
// 初始化上下文对象
nRetVal = context.Init();
// TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK
// 创建深度生产节点
xn::DepthGenerator depth;
nRetVal = depth.Create(context);
// TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK
// 开始生产数据
nRetVal = context.StartGeneratingAll();
// TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK
// 主循环
while (bShouldRun)
{
// 等待数据更新
nRetVal = context.WaitOneUpdateAll(depth);
if (nRetVal != XN_STATUS_OK)
{
printf("Failed updating data: %s\n", xnGetStatusString(nRetVal));
continue;
}
// 获得当前深度图
const XnDepthPixel* pDepthMap = depth.GetDepthMap();
// TODO:处理深度图
}
// 释放资源
context.Shutdown();