仿生机械手-TiHand Technology
新闻详情

LM开发文档翻译_2

发表时间:2018-02-10 02:37

未标题-1.jpgGestures

LM软件可以辨认特定的运动模式作为手势来进行代表用户的意图或者命令的。手势是每根手指或工具各自被跟踪得到的。LM在帧中提供手势与提供其它运动追踪数据(比如手指和手掌)是一样的方式。

手势是用Gesture类以及其子类CiecleGesture、KeyTapGesture、ScreenTapGesture、SwipeGesture来代表的。

下图是LM认可的几种运动模式。

重要提示:在你的应用中使用手势之前,你应该允许LM辨别你打算使用的手势。
Controller类里面有一个enableGesture()方法,你可以用它来允许LM进行手势识别。

Motions






运动是对用户手部在一段时间内的改变内在运动基本类型的评估。运动包含了比例、旋转和平移。


运动是通过对相邻的两帧计算得到的。

你可以从Frame对象中得到场景中整个手的运动因素,你也可以从Hand对象中得到一个手的相关的因素。






API接口的使用


与设备进行连接

通过创建一个Controller对象来与LM设备进行连接。Controller对象可以自动与LM后台程序或服务进行连接来传输数据,这些数据是以Frame对象的形式传输到你的应用程序中的。

Controller = Leap.Controller()

利用Controller对象可以得到关于连接状态以及连接的硬件的信息,从而为你的应用设置连接的选项。

获得帧数据

通过调用Controlller.frame()函数可以获得包含所追踪数据的Frame对象。你可以随时调用这个函数,无论你的应用程序是否已经准备好处理LM得到一些列最近的数据。你也可以采用一个Listener对象来定义一个回调函数,此时,如果新的帧数据产生的话,Controller对象会唤醒这个函数。

前台和后台应用程序

Hands

手是LeapMotion控制器所追踪的最基本的实体。控制器内部保持着一个手部模型,以此来验证从其传感器收集到的数据。这就能够使得即使一个手指没有完全可见,控制器仍能追踪到其位置。注意,当一个手指在手的后方或者正前方(以控制器的视野)时移动或者发生改变时其位置可能会发生丢失。LeapMotion软件会将现实数据与内建模型进行匹配。在某些情况下,软件可能产生一个错误的匹配——比如,将左手错认成右手。

Hand类代表一个被LeapMotion检测到的手部对象。Hand对象提供Pointables列表以及描述手位置,运动,方向的属性。

手象可以被定义成左手以及右手。此外,每个手部对象第一次被检测到时都会分配一个ID值(使用timeVisible属性判断一只手是不是刚刚探测到。)如果LeapMotion软件认为一只手被错误分类或者必须改变其类型(从左手变成右手或者相反)也会重新分配一个新的ID值。


分享到:
联系QQ:350554889
手机号码:13060961433
联系邮箱:tihand@qq.com
————————————
————————————
————————————————————————————————————————————————————