【问题标题】:how to measure Kinect Skeleton Axis dimension?如何测量 Kinect 骨架轴尺寸?
【发布时间】:2016-11-04 02:55:58
【问题描述】:

我正在开发一个 kinect 手势应用程序。所以我从互联网上得到了一个举手手势的代码。

handupgesture()
{

 bool up = false;
 float refDistance = 0.2F;

 SkeletonPoint refPos = localSkeletonHistory[0].Joints[JointType.ShoulderCenter].Position;
 SkeletonPoint startPos = localSkeletonHistory[0].Joints[JointType.HandRight].Position;

 for (int i = 20; i < localSkeletonHistory.Count; i++)
 {
           if (!(Math.Abs(localSkeletonHistory[i].Joints[JointType.ShoulderCenter].Position.Y - refPos.Y) < 0.05F &&
                   Math.Abs(localSkeletonHistory[i].Joints[JointType.HandRight].Position.X - startPos.X) < 0.05F &&
                   Math.Abs(localSkeletonHistory[i].Joints[JointType.HandRight].Position.Z - startPos.Z) < 0.05F ))
            {
                break;
            }
            if (localSkeletonHistory[i].Joints[JointType.HandRight].Position.Y >= (startPos.Y + refDistance))
            {
                up = true;
                SkeletonHistory.Clear();
                break;
            }
        }
        return up;
} 

我的疑惑是:

  • 什么是0.05F?是米吗?厘米?
  • Z 轴距离是指关节到 kinect 距离的距离。是吗?

此代码未检测到 hand up 。有什么错误或建议吗?

【问题讨论】:

    标签: c# windows kinect gesture-recognition skeleton-code


    【解决方案1】:

    C# 中的0.05F 表示浮点数。

    float 关键字表示存储 32 位的简单类型 浮点值。下表显示了精度和 float 类型的大概范围。

    默认情况下,赋值右侧的实数字面量 运算符被视为双精度。因此,初始化一个浮点数 变量,请使用后缀 f 或 F,如下例所示:

    float x = 3.5F; or in your case 0.05F
    

    来源:https://msdn.microsoft.com/en-us/library/b1e65aza.aspx

    至于第二个问题,z轴代表深度。 每一帧,捕获的深度图像都由 Kinect 运行时处理成骨架数据。骨骼数据包含深度传感器中可见的最多两个人的人体骨骼的 3D 位置数据。骨架的位置和每个骨架关节(如果启用了主动跟踪)存储为 (x, y, z) 坐标。与深度空间不同,骨架空间坐标以米为单位。

    x、y 和 z 轴是深度传感器的身体轴,如下所示:

    这是一个右手坐标系,它将 Kinect 放置在原点,正 z 轴沿 Kinect 指向的方向延伸。正y轴向上延伸,正x轴向左延伸。

    来源:https://msdn.microsoft.com/en-us/library/hh973078.aspx

    至于您的最后一个问题 - 尝试降低 0.5F 容差。

    此外,我想向您指出 Windows Kinect 站点中的一些示例: https://kinectforwindows.codeplex.com/

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多