【问题标题】:Kinect hand waving gestureKinect 挥手手势
【发布时间】:2012-03-29 04:04:42
【问题描述】:

我正在使用 Kinect SDK 做一个 kinect 应用程序。

我希望它必须能够识别挥手 5 秒的结果。如果可以,请做某事有人知道该怎么做吗?

我正在使用 WPF 应用程序。想举一些例子。我对 Kinect 比较陌生。

【问题讨论】:

    标签: c# wpf kinect


    【解决方案1】:

    您可以编写一个简单的算法来获取工资手势。对于您的示例,您需要一个时间限制

    public static int timeLimit = 5000;
    

    现在想想波浪。它有3个状态

    1) 当您的手在 X 轴上与肘部处于同一位置时的中立姿势。

    2) 手在肘部右侧时

    3) 当手在肘部左侧时

    请记住,您从状态 1 开始。要从 2 到 3,您需要在中间使用 1。如您所见,有一个组合 1 - 2 - 1 - 3 - 1

    关节位置可以得到的安全

    first.Joints[JointType.HandRigh].Position.X
    

    数学很简单。

    关于秒。只需从(例如)SkeletonFrame 时间戳获取并进行比较

    if((currentTimestamp - startTimestamp) < MainWindom.timeLimit) 
    

    startTimestamp 是您的手处于开始位置时的时间戳。

    还添加一个标志 tha 表明手在良好的轨道上

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      检查 Kinect 工具箱项目@http://kinecttoolbox.codeplex.com/。它有 Swipe 手势检测器实现。

      【讨论】:

        【解决方案3】:

        如果你需要学习基础知识,我推荐Channel 9 Kinect for Windows Quickstarts

        回到挥手的姿势,使用像极坐标这样的数学来检查你的手之间的距离,比如你的中肩并计算角度。

        这样您就可以检查以前的值。 这清楚还是不清楚?

        【讨论】:

          猜你喜欢
          • 2012-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-07
          • 1970-01-01
          • 1970-01-01
          • 2014-03-13
          • 1970-01-01
          相关资源
          最近更新 更多