2
尝试使用C++度日的Kinect V2跟踪的身体,但它不工作作为它应该,而且微软对C文档++为Kinect的V2 API是非常糟糕的Kinect体跟踪GetAndRefreshBodyData返回错误
相关的代码片段:
HRESULT result;
if (BodyFrameReader != nullptr)
{
result = BodyFrameReader->AcquireLatestFrame(&BodyFrame);
if (result == S_OK)
{
IBody** bodies =nullptr;
result = BodyFrame->GetAndRefreshBodyData(BODY_COUNT, bodies);
if (result == S_OK)
Print("Success");
else
Print("Fail "+result);
BodyFrame->Release();
}
}
所以在阅读使用AcquireLatestFrame
回报S_OK
然而试图获取信息使用GetAndRefreshBodyData
始终任何跟踪车身框架的第一个结果返回变量result
的错误代码是一些非常大的负数(-ve MAXINT _32)。
除了这个我注意到另一件事是在一些文档就暗示,好像GetAndRefreshBodyData
需要的IBody
数组作为参数现在IBody
是一个接口,它不能因此如何是你应该做的实例。
除Kinect->Open()
之外,还有其他一些设置需要完成以便进行身体跟踪吗?
这样做,谢谢。大多数示例和在线文档都关注C#,所以我忽略了这一点。 – Allahjane
当您安装Kinect SDK时,它还安装了“SDK浏览器”。使用它,你可以过滤样本,所以它只显示你的C++的。 – HenningJ