OpenNI UserGuide

         自從微軟的kinect體感應器橫空出世以後,關於OpenNI方面的開發漸漸多了起來,我也在前人研究的基礎上簡單的介紹一下OpenNI到底是個什麼東東。

        OpenNI(Open Natural Interaction)是PrimeSense公司一個開源的開發庫,是一個基於聽覺和視覺方向的開發庫。OpenNI提供一套由傳感器設備實現的接口和一套由中間件實現的接口。通過分離傳感器和中間件的依賴關係,OpenNI’s API能夠讓應用程序輕鬆地在不同的中間件模塊上編寫和移植(一次編寫,到處部署)。OpenNI’s API 也能讓中間件開發人員編寫基於原始的數據格式,不必考慮是哪種傳感器設備產生的,讓傳感器生產廠商有能力生產支持任何兼容OpenNI框架的應用程序。OpenNI標準API能夠使體感應用開發者通過使用數據類型來跟蹤現實(三維)的場景,這些類型都是通過傳感器的輸入數據來計算的,比如:完全肢體展現,一組深度像素數據等)。應用程序的編寫不必考慮傳感器和中間件的提供者。

關於Application、OpenNI、hardware之間分層關係:


目前OpenNI支持的硬件模塊:

1、3D sensor 三維傳感器

2、RGB camera RGB 攝像頭

 3、IR camera 紅外攝像頭

 4、Audio device 音頻設備(一個或多個麥克風)


中間組件:

1、全肢體分析中間件:是一個處理感官數據,生成肢體相關信息(常見的數據結構如關節、方向、重心等)
2、手心分析中間件:是一個處理感官數據和生成手心的位置信息的軟件組件。
3、手勢探測中間件:是一個分辨預定義的手勢(如揮手)和提醒應用程序的軟件組件。
4、場景分析中間件:是一個分析場景圖像的軟件中間件,產生如下信息:
  (1)場景的前景(輪廓)和背景的分離
  (2) 平面圖的座標
  (3)場景中獨特輪廓的識別


傳感器相關的生產節點

1、設備:這種節點是物理的設備(例如:深度傳感器,或者RGB攝像頭)。這個節點的主要角色是使設備可配置。

2、深度生成器:這種節點能夠生成深度映射。它應該被任何希望通過OpenNI認證的三維傳感器實現。

 3、 圖像生成器:這種節點能夠生成彩色圖像映射。它應該被任何希望通過OpenNI認證的纔是傳感器實現。

4、紅外生成器:這種節點能夠生成紅外圖像映射。它應該被任何希望通過OpenNI認證的纔是傳感器實現。

5、音頻生成器:這種節點產生音頻流。它應該被任何希望通過OpenNI認證的纔是傳感器實現。


中間件相關的生產節點

1、手勢告警生成器:當特定手勢被識別能夠回調應用程序。

2、場景分析器:分析一個場景,包括前景從背景分開,識別場景中的體型,發現平面圖。場景分析器的主要輸出是標記的深度映射,每一個像素都包含一個標籤,指明是體型還是背景的一部分。

 3、手心生成器:支持手的發現和跟蹤。這個節點當發現一個手心(手掌),或者當手心被跟蹤時,位置發生了變化,就產生一個回調事件。

4、用戶生成器:生成一個在三維場景中的全部或部分肢體圖畫。


OpenNI目前支持的能力

1、替換視圖:讓任何類型的映射生成器(深度、圖像、紅外)能夠轉換它的數據,顯得彷彿傳感器被放到了另一個位置(被另一個生產節點顯示,通常是另外一個傳感器)。

2、 裁剪:讓一個映射生成器(景深、圖像、紅外)能夠輸出幀的可選區域而區別於整個幀。當具備裁剪能力是,生成的映射的尺寸被減少爲適合更低的分辨率。例如,一個映射生成器工作在VGA分辨率(640x480),應用程序要裁剪在300x200,下    一個像素行從300像素後開始。裁剪在性能提升方面非常有用。

3、幀同步:讓兩個傳感器產生幀數據(例如:深度、圖像)能夠同步他們的幀,以致他們同時到達。

4、鏡像:讓生成器能夠生成的數據的鏡像。如果傳感器放在用戶面前,傳感器捕捉到的影像被鏡像,鏡像這時很有用,這樣右手就   可以以鏡像的體型中的左手出現了。

5、姿勢檢測:讓用戶生成器認出用戶擺出的特定姿勢。

6、 骨骼:讓用戶生成器能夠輸出用戶骨骼數據。這個數據包括骨骼關節的位置,跟蹤骨骼的位置的能力,用戶校準的能力。

7、 用戶位置:讓深度生成器能夠爲場景的特定區域而優化輸出特定深度映射。

8、鎖發現:讓節點能夠被上下文邊界鎖定。詳細信息,參考在應用和鎖節點間共享設備


           其實OpenNI的屬性在其官網上介紹遠不止這麼多,又苦於英文水平不佳(官網爲英文檔),所以介紹到這麼多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章