如何在Leap Motion设备上检测特定的拇指?
还有什么方法可以找到'拳头'手势。我想将代码与我的项目集成。
或者我应该完全开发自己的算法吗?
答案 0 :(得分:2)
没有检测到手指的手很可能是拳头。
您可以使用拇指角度,长度,宽度和基准位置将其与其他数字区分开来。例如,拇指通常比其他手指短,除了小指 - 但它通常比小指更宽。您可以根据尖端位置,长度和方向计算的基准位置相对于其他数字处于非常不同的位置。您可以使用这些事实来开发用于识别拇指的启发式方法。当然,这不是一件容易的事。
当Leap Motion API提供手指识别以及可能的简单姿势(如抓握和捏合)时,这两项任务应该会更加容易。
[edit]这仅适用于旧的v1版跟踪。新版本始终报告每手五指的位置。现在使用Type属性标识Thumb(和其他数字)。要检测拳头,您可以使用GrabStrength或检查所有手指的IsExtended属性。
答案 1 :(得分:1)
使用最新的leap motion SDK这是一项非常简单的任务。您可以使用手指“类型”属性来识别手指。
假设您已经获得了手指对象,您可以使用
获取其手指类型属性finger_type = finger.type
由于您希望识别拇指,因此需要 finger_type = 0 。
有关详细信息,请参阅leapmotion documentation。