【问题标题】:Kinect Joint Absolute coordinatesKinect 关节绝对坐标
【发布时间】:2013-12-12 23:17:21
【问题描述】:

我正在使用 Kinect for Windows SDK (v1.8) 我成功地从 Kinect 读取动作,但我现在想知道如何获取我正在跟踪的关节的绝对位置(右手)

我正在使用以下函数 NuiTransformSkeletonToDepthImage,但 x 和 y 坐标的值范围为 100-200。

关于如何将返回的坐标转换为屏幕坐标的任何建议? 感觉我错过了一些非常明显的东西......

提前谢谢你

【问题讨论】:

    标签: c++ coordinates kinect absolute


    【解决方案1】:

    好的,经过相当多的环顾和反复试验;我找到了解决方案。

    当你调用 NuiTransformSkeletonToDepthImage();您可以使用 NUI_IMAGE_RESOLUTION 枚举指定 Kinect 分辨率。我相信价值观是; 80x60、320x240、640x480、1280x960

    取决于您决定使用的分辨率;您需要将返回的 x 和 y 坐标除以相应的分辨率。然后将它们乘以您的窗口大小,您的窗口中应该会有坐标。

    相信您也可以在创建 Kinect Sensor 接口实例时指定分辨率。

    示例,因为我的解释不太简洁:

    float x, y
    const Vector4 fromPos = skeleton.SkeletonPositions[NUI_SKELETON_POSITION_HAND_RIGHT];
    NuiTransformSkeletonToDepthImage(fromPos, &x, &y, NUI_IMAGE_RESOLUTION_320x240);
    x = x * ((float)WINDOW_WIDTH / 320.0f);
    y = y * ((float)WINDOW_HEIGHT / 240.0f);
    

    任何问题;随时问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多