我想使用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)
我是一个跳跃动作初学者,我希望你指导我如何做到这一点,如果有任何例子或代码?
谢谢:)
答案 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_INDEX
或TYPE_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)