C#和Kinect手势时间

时间:2012-05-07 21:43:51

标签: c# kinect gesture

我目前正在使用Kinect SDK在C#中开发一些手势识别。太好了,唯一的问题是手势识别是即时的。

例如:我正在使用messageBox来宣布我将手举过头顶。如果我握住手2秒钟,它会打开几十个宣布手势的消息框。

有办法阻止这个吗?

3 个答案:

答案 0 :(得分:3)

达伦说实话。您需要实现一个停止机制。 Kinect正在全天候实时分析所有内容,所以当你的手在它之上时它就在那里直到它在那里:)所以每次你的动作被触发。正如Atuls所说,或者按照我的意愿行事。 我更喜欢创造一个布尔旗。默认值为false。当我的动作被触发时,我将其设置为true,并且每次需要时我都不会t trigger the action again until the flag is false. In your example I would set it to true when I raise my hand above the head and set it to false when I have my hand below my head. That way I仅触发一次动作

答案 1 :(得分:1)

如果手在头顶,我猜你只是在触发事件。这还不够。

只要在识别出手势时触发消息框,然后重置您检查算法的任何机制。 只要您的手移到头下,您就需要重新开始手势检查。如何执行此操作取决于您如何实现手势识别。

答案 2 :(得分:1)

您可以检查MinimumPeriodBetweenGestures是否为已实施的@ Kinect Toolbox。同样,您可以根据自己的要求定义标准。