OpenNI學習之——座標系

 有段時間沒寫日誌了。

今天寫Kinect操作Java3D模型的程序,發現兩者座標存在很大差異,遂整理了一下。

首先,Java3D座標系單位是1,象徵真是世界中的1m(但不是真的1m,要不顯示器該放不下了)。

其次,OpenNI座標系如下(翻譯自OpenNI-API-1.5.4)

 

      OpenNI定義了兩種座標系統:

          投影座標:深度值的二維地圖

          真實世界座標:三位點座標集合

 

 

       兩個座標系統詳細內容如下:

特徵

投影座標

真實世界座標

x,y單位

pixels 像素

mm 毫米

z單位

mm 毫米

mm 毫米

(x,y) 平面原點

視域(FOV)左上角

視域中心

z0

傳感器所處垂直面中心

傳感器所處垂直面中心

x軸方向

從左到右

從左到右

y軸方向

從上到下

從下倒上

z軸方向

遠離設備(從設備到用戶)

遠離設備

           這兩種座標系統的區別是,物體越靠近傳感器,其在投影座標系中變得越大,在真是座標系中不變。

注意:OpenNI中返回數據格式並不統一,有的使用投影座標(像depth maps),有的使用真實世界座標(例如 skeleton joints),使用時需注意。

Java3D和OpenNI結合使用時可參照兩者各自座標系靈活調整了。

 

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