向上/向下滑动

时间:2013-03-25 19:27:16

标签: kinect kinect-sdk kinect.toolbox

我正在尝试使用与向右和向左滑动相同的逻辑来检测向上和向下滑动。这就是我想出来的。

// Upward Swipe
        if (ScanPositions((p1, p2) => Math.Abs(p2.Y - p1.Y) > 0.4f,  // Height
            (p1, p2) => p2.Y - p1.Y > -0.01f, // Progression Upwards
            (p1, p2) => Math.Abs(p2.X - p1.X) < 0.2f, // Length
            SwipeMininalDuration, SwipeMaximalDuration))// Duration
        {
                RaiseGestureDetected("Upward Swipe Gesture Detected");
            return;
        }

        // Downward Swipe
        if (ScanPositions((p1, p2) => Math.Abs(p2.Y - p1.Y) > 0.4f,  // Height
            (p1, p2) => p2.Y - p1.Y < 0.01f, // Progression Downwards
            (p1, p2) => Math.Abs(p2.X - p1.X) < 0.2f, // Length
            SwipeMininalDuration, SwipeMaximalDuration))// Duration
        {
                RaiseGestureDetected("Downward Swipe Gesture Detected");
            return;
        }

使用与向左/向右滑动类似的逻辑,对于heightFuntion,我已经说过y轴上p2和p1之间的差异应该大于40,依旧等等(从代码中可以看出) )。我非常有信心这可行,但在测试时它仍然不能给我准确的手势输出。有时它会向输出“检测到向下滑动”,而实际上它是向上的。有时它会在左滑动和向上滑动之间出错。你能告诉我我在哪里弄错了吗?我刚发布的算法是否包含错误?或者我需要在Kinect工具箱中的其他地方修改某些内容?我希望能够在同一个应用程序中检测向上,向下,向左和向右滑动。感谢

0 个答案:

没有答案