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