首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kinect Body Tracking GetAndRefreshBodyData返回错误

Kinect Body Tracking GetAndRefreshBodyData返回错误
EN

Stack Overflow用户
提问于 2016-08-16 13:34:18
回答 1查看 505关注 0票数 2

试图让Kinect V2使用C++跟踪身体,但它并没有像预期的那样工作,而且微软关于kinect V2的C++ API的文档也非常糟糕

相关代码片段:

代码语言:javascript
复制
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()之外,还需要做一些额外的设置才能实现身体跟踪吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-16 18:38:35

你说得对,微软的文档相当糟糕。但是SDK附带了相当多的示例项目,这始终是一个很好的起点。对于您的情况,请看一下BodyBasics C++示例。在那里你可以找到类似如下的代码:

代码语言:javascript
复制
IBody* ppBodies[BODY_COUNT] = {0}; // BODY_COUNT is 6
hr = pBodyFrame->GetAndRefreshBodyData(_countof(ppBodies), ppBodies);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38967269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档