我在网上搜索了这个问题,但没有找到解决方案。
我开始使用 OpenNI 的示例来开发我的应用程序。我对 C++ 没有太多经验:我是初学者。
我正在使用 OpenNI 1.5.4 的 SimpleSkeleton 示例,它返回头部位置。我需要它,但使用的是我使用 NiViewer 录制的 ONI 文件,而不是来自 kinect 的流数据。
在网上搜索我发现:
xn::Context context;
xn::Player player;
nRetVal = context.Init();
nRetVal=context.OpenFileRecording("Myfile.oni",player);
if (nRetVal != XN_STATUS_OK)
{
printf("Can't open recording file: %s\n",xnGetStatusString(nRetVal));
return 1;
}
我的代码进入if
循环,打印 'Can't open my file.oni ...' 并且不继续运行。我认为问题是设置播放器对象。我能怎么做?或者我该怎么办?
没有线条:
nRetVal=context.OpenFileRecording("Myfile.oni",player);
if (nRetVal != XN_STATUS_OK)
{
printf("Can't open recording file: %s\n",xnGetStatusString(nRetVal));
return 1;
}
它运行正常,但使用来自 kinect 而不是来自文件的数据流。