LeapMotion控制器 java語言開發筆記--(LeapMotion控制器簡介)


(1)LeapMotion系統識別和追蹤手,手指,以及根手指類似的工具,這個設備運行在一個極小的范圍,這個范圍擁有個高精度,高跟蹤頻率可以記錄離散的點,手勢,和動作。

(2)LeapMotion控制器使用的是光學傳感器和紅外線,當控制器在其標准操作位置,有大約150度的視野時光學傳感器直接沿y軸向上。在控制器上面(2英尺到1英寸)LeapMotion控制器的有效范圍從25到600毫米。控制器有一個明確的、高對比度的視圖對象輪廓時,控制器的檢測和追蹤效果最好。                       LeapMotion控制軟件將傳感器數據和人手的內部模型結合起來去幫助處理有挑戰性的跟蹤情況。

(3)LeapMotion的坐標系統(如上圖所示)LeapMotion系統有一個右手的笛卡兒坐標系統。控制器的物理單位,距離:毫米  時間:微秒(一般是這樣,除非有說明) 速度:毫米/秒  角度:弧度

(4)運動跟蹤數據:當LeapMotion在其范圍內跟蹤手,手指和工具時,它提供了更新的一組數據或者一幀。每一個Frame對象代表了一個包含一組像手,手指,工具,以及被被識別出來的手勢和描述整體運動場景的一組實體的幀。Frame對象本質上是LeapMotion的根數據模型。

(5)Hands:手模型提供了關於被檢測到的手,這個手的手臂,和這個手有關系的手指集合的特性,位置,以及其它特性的信息。

        Hands由Hand類來表示。Hand類的 palmNormal() 和direction()返回的向量值定義了手的方向。

        LeapMotion軟件使用一個內部的模型人手提供預測的跟蹤,即使部分手是不可見的。手模型總是提供了五個手指的位置,當一只手的輪廓及其所有手指都清晰可見時跟蹤是最優的。LeapMotion軟件使用手的可見部分,軟件的內部模型,以及過去觀測計算最有可能位置的目前不可見的部分。 需要注意的是,掩

        藏在手內部的手指或者LeapMotion傳感器屏蔽掉的手指是通常檢測不到的。Hand類的 confidence()方法返回的值表示觀測到的數據和軟件內部模型的符合度。

        如果超過了一個人的手或者其它跟手類似的模型在出現在控制器的視圖中,超過兩個手可以出現在Frame的手集合。然而,為了保證好的跟隨效果官方建議最多只能兩只手在控制器的感應區域內。

(6)Arms:一個Arm類的對象是一個類似骨頭的對象,他提供了方向、長度、寬度 和手臂的終點。當肘部不在控制器的感應范圍你內,LeapMotion控制器根據過去的觀察以及典型的人體比例來推測它(手臂)的位置。

(7)Fingers:LeapMotion控制器提供手上面的每一根手指的信息,如果手指完全(部分)不可見則可根據最近的觀察和解剖模型的手來推測手指的特征。這些手指分別被命名為大拇指,食指,中指,無名指,和小指。

        手指由Finger類得來,Finger類繼承了pointable接口。

     Finger類的 |Finger_tipPosition|_ and |Finger_direction|_ 向量屬性值提供了手指的之間位置和之間的指向。

     一根手指對象提供了一個骨頭對象描述每個解剖手指骨的位置和姿態。所有手指都含有四個骨頭從底部到尖。具體的結構如下圖。

 

       大拇指不適合這個骨頭體系,大拇指只有三根骨頭,為了編程方便,我們這里也將大拇指定義有四個骨頭,只是認為Metacarpls骨頭的長度為0.

(8)Tools:一個工具類的對象就像一個鉛筆一樣。鉛筆對象都是由Tool類來實例化的,Tool類實現了Pointable接口。

        一個工具對象比手指更長,更細,更直;只有細,圓的物體才會被認為是tool對象。在文檔的第二版本中tools是獨立於hands的。

(9)Gestures:LeapMotion軟件認出確定確定的運動模型作為手勢,這些手勢可以表明使用者的意圖和控制。Gesture對象是有Gesture類或者它的子類來定義並實例化的。

      注意點:當你將手勢運用到你的應用中之前,你必須識別出你想要使用的手勢。控制器類有一個enableGesture()的方法來識別你使用的手勢類型。

(10)運動:運動是一段時間內用戶手運動的改變,運動包括:scale,ratation,translation,如下圖所示

 

         運動是兩個幀之間的計算,你可以在整個Frame對象的場景中獲得運動因素。同樣你也可以從一個與之相關的單手Hand對象中獲得運動因素。你可以使用提到的運動元素去設計你的應用程序的交互,例如,為了代替跟蹤在很多幀之間的穿梭的手指的變化的數              據,你可以使用兩個偵之間scale元素去讓用戶改變一個物體的形狀。

(11)sesor image(傳感器圖像):隨着計算跟蹤數據你可以從Leapmotion控制器得到原始的圖像。

      圖像的數據包括所測得紅外亮度值和校正復雜透鏡畸變所需的數據,你可以使用傳感器圖像增強現實效果的應用程序,尤其是在將控制器應用到VR領域。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM