手指位置使用跳跃运动

时间:2015-05-15 07:22:50

标签: python-2.7 3d leap-motion

我想使用Leap Motion来获取我的食指尖端位置(3D位置X,Y,Z),我怎么能在跳跃运动中做到这一点?

这是我只检测食指的方法,但有一个错误:

def on_frame(self, controller):
    # Get the most recent frame and report some basic information
    frame = controller.frame()

    finger = Finger.TYPE_INDEX
    print('Type :  '+finger.type())
    time.sleep(3)

我是一个跳跃动作初学者,我希望你指导我如何做到这一点,如果有任何例子或代码?

谢谢:)

1 个答案:

答案 0 :(得分:2)

首先,看看documentation for the Leap Motion Python API。然后检查SDK示例文件夹中的Sample.py程序。 Sample.py提供了一个示例,用于获取API提供的所有信息。

针对上述特定问题,Finger.TYPE_INDEX会为您提供食指的枚举或名称;它没有给你一个表示食指的物体的实例 - 你的每只手都有一个食指,在Leap设备的视野中可以有多只手 - 那么它应该返回哪个食指?

您可以从frame.fingers()获取所有被跟踪手指的列表,并从hand.fingers()获取特定手牌的被跟踪手指列表。从这些列表中,您可以使用名称(即Finger.TYPE_INDEXTYPE_THUMB)过滤特定类型的手指。

def on_frame(self, controller):
    # Get the most recent frame and report some basic information
    frame = controller.frame()

    fingers = frame.fingers()
    index_fingers = fingers.finger_type(Finger.TYPE_INDEX)
    for(finger in index_fingers):
        print('Type :  '+finger.type())
    time.sleep(3)