向Lord_Rebel要了转载权,TA翻译了10篇文章,就像我以前翻译c++。十分感谢她的努力,我全部转载到这里方便大家阅读。
【翻译】Leapmotion-python开发官方文档(1)
【翻译】Leapmotion-python开发官方文档(2)
【翻译】Leapmotion-python开发官方文档(3)
【翻译】Leapmotion-python开发官方文档(4)
【翻译】Leapmotion-python开发官方文档(5)
【翻译】Leapmotion-python开发官方文档(6)
【翻译】Leapmotion-python开发官方文档(7)
【翻译】Leapmotion-python开发官方文档(8)
【翻译】Leapmotion-python开发官方文档(9)
【翻译】Leapmotion-python开发官方文档(10)
连接控制器(Connecting to the Controller)
(本人第一次写技术类博客,如有什么地方不妥请轻喷)
英文链接地址:https://developer.leapmotion.com/documentation/Python/devguide/Leap_Controllers.html
(PS:本人英语有限如果翻译地方有错误,望指出)
为了与LeapMotion设备连接,需要实例化一个Controller(控制器)对象。Controller对象能够自动与Leapmotion的守护进程或服务程序(译者注:即Leap service。我的电脑->服务中可找到,有些时候插上Leapmotion却没有反应,就是该服务没有启动,手动将其启动就好。)建立连接,然后通过帧(Frame)对象传输数据。
1 |
controller = Leap.Controller() |
使用Controller对象可以获得有关当前连接状态、已连接的硬件等信息,同时还能为你的程序设置连接选项(connection options)
获取数据帧
前台程序与后台程序
1 2 3 |
controller.set_policy(Leap.Controller.POLICY_BACKGROUND_FRAMES) controller.set_policy(Leap.Controller.POLICY_IMAGES) controller.set_policy(Leap.Controller.POLICY_OPTIMIZE_HMD) |
获得图像
允许手势
1 |
controller.enable_gesture(Leap.Gesture.TYPE_SWIPE) |
控制器状态
获取控制器事件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import Leap, sys class LeapEventListener(Leap.Listener): def on_connect(self, controller): print "Connected" controller.enable_gesture(Leap.Gesture.Type.TYPE_SWIPE) controller.config.set("Gesture.Swipe.MinLength", 200.0) controller.config.save() def on_disconnect(self, controller): # Note: not dispatched when running in a debugger. print "Disconnected" def on_frame(self, controller): print "Frame available" frame = controller.frame() #Process frame data |
然后给控制器增加一个你的Listener的实例。
1 2 3 |
listener = LeapEventListener controller = Leap.Controller() controller.add_listener(listener) |
设备类型
补充:写程序前应当做的
1 2 3 4 |
import os, sys, inspect, thread, time src_dir = os.path.dirname(inspect.getfile(inspect.currentframe())) arch_dir = '../lib/x64' if sys.maxsize > 2**32 else '../lib/x86'#将..替换成SDK解压后所在路径。 sys.path.insert(0, os.path.abspath(os.path.join(src_dir, arch_dir))) |