【发布时间】:2013-10-12 12:29:43
【问题描述】:
如何在 Leap Motion 设备上检测特定的拇指?
还有什么方法可以让我找到“拳头”手势。我想将代码与我的项目集成。
还是我应该完全开发自己的算法?
【问题讨论】:
标签: detection leap-motion
如何在 Leap Motion 设备上检测特定的拇指?
还有什么方法可以让我找到“拳头”手势。我想将代码与我的项目集成。
还是我应该完全开发自己的算法?
【问题讨论】:
标签: detection leap-motion
没有检测到手指的手很可能是拳头。
您可以使用拇指的角度、长度、宽度和基本位置来区分它与其他数字。例如,拇指通常比其他手指短,除了小指——但它通常比小指宽。您可以根据尖端位置、长度和方向计算出的基本位置相对于其他数字的位置大不相同。您可以使用这些事实来开发用于识别拇指的启发式方法。诚然,这不是一件容易的事。
当 Leap Motion API 将提供手指识别以及可能的简单姿势(如抓握和捏捏)时,这两项任务应该会变得容易得多。
[编辑] 这仅适用于旧的 v1 版本的跟踪。新版本总是报告每只手五个手指的位置。拇指(和其他数字)现在用 Type 属性标识。要检测拳头,您可以使用 GrabStrength 或检查所有手指的 IsExtended 属性。
【讨论】:
使用最新的跳跃运动 SDK,这是一项非常简单的任务。您可以使用手指“类型”属性来识别手指。
假设你已经获得了一个手指对象,你可以通过使用
来获取它的手指类型属性finger_type = finger.type
由于您要识别拇指,因此需要 finger_type = 0。
更多详情,请参考leapmotion documentation。
【讨论】: