C#和Kinect手势时间

C#和Kinect手势时间,c#,kinect,gesture,C#,Kinect,Gesture,我目前正在用Kinect SDK开发C#中的一些手势识别。到目前为止还不错,唯一的问题是手势识别是即时的 例如:当我把手举过头顶时,我用一个消息框来宣布。如果我握住手2秒钟,它会打开几十个消息框来宣布这个手势 有什么方法可以阻止这种情况吗?我想如果手举过头顶,你只是在触发事件。这还不够 当手势被识别时,只需触发messagebox一次,然后重置检查算法的任何机制。 当你的手在头下移动时,你需要重新开始手势检查。你如何做到这一点取决于你是如何实现手势识别的。我想你只是在手举过头顶时触发了事件。这还

我目前正在用Kinect SDK开发C#中的一些手势识别。到目前为止还不错,唯一的问题是手势识别是即时的

例如:当我把手举过头顶时,我用一个消息框来宣布。如果我握住手2秒钟,它会打开几十个消息框来宣布这个手势


有什么方法可以阻止这种情况吗?

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

当手势被识别时,只需触发messagebox一次,然后重置检查算法的任何机制。
当你的手在头下移动时,你需要重新开始手势检查。你如何做到这一点取决于你是如何实现手势识别的。

我想你只是在手举过头顶时触发了事件。这还不够

当手势被识别时,只需触发messagebox一次,然后重置检查算法的任何机制。
当你的手在头下移动时,你需要重新开始手势检查。如何执行此操作取决于您如何实现手势识别。

您可以检查实现的手势之间的最小间隔@。同样,您可以根据自己的需求定义标准。

您可以检查实现的手势之间的最小间隔@。同样,你也可以根据自己的需求定义标准。

达伦说的是事实。您需要实现一个停止机制。Kinect一直在实时分析一切,所以当你的手在上面时,它一直在那里,直到它在那里:)所以每次你的动作都会被触发。照阿图尔斯说的去做,或者照我喜欢的去做。
我更喜欢创建一个布尔标志。默认值为false。当触发我的操作时,我将其设置为true,并且在标志为false之前,我不会再次触发该操作。在你的例子中,当我把手举过头顶时,我会将其设置为true;当我把手举过头顶时,我会将其设置为false。那样的话,我每次需要的时候只触发一次动作

达伦说了实话。您需要实现一个停止机制。Kinect一直在实时分析一切,所以当你的手在上面时,它一直在那里,直到它在那里:)所以每次你的动作都会被触发。照阿图尔斯说的去做,或者照我喜欢的去做。 我更喜欢创建一个布尔标志。默认值为false。当触发我的操作时,我将其设置为true,并且在标志为false之前,我不会再次触发该操作。在你的例子中,当我把手举过头顶时,我会将其设置为true;当我把手举过头顶时,我会将其设置为false。这样,我每次需要时只触发一次操作