小孔成像模型中存在着成像平面和相機座標系兩個座標系。相機座標系的原點位於相機光心處,而成像平面則是沿着相機座標系Z軸的負方向平移一個距離f,也就是焦距。Kincet中也存在着三個空間,本文將解釋這三個空間,以及這三個空間之間的關係。
1.相機空間
CameraSpace也就是Kinect的相機空間,官網的定義如下:
對應的圖形解釋:
需要注意兩點:
- 相機空間的原點位於紅外相機的中心處,也就是紅外相機的光心處。所以相機空間的座標系就是小孔成像模型中的相機座標系;
- 在相機空間中的距離單位是:米,不再是毫米。
2.深度圖像空間
DepthSpace也就是深度空間,官網的定義如下:
說是空間,其實就是指得到的深度圖像。X、Y就是像素座標,Z就是深度相機測得的深度/距離,表現爲圖像上的灰度。所以,深度圖像空間就是小孔成像模型中的物理成像平面。
那麼這個測得的深度/距離是到物體到相機哪裏的距離呢?
通過MapDepthPointToCameraSpace()函數做實驗發現,空間中某一點在深度圖像空間中的Z值和在相機空間中的Z值一致。
所以說,測得的距離是指物體到相機空間Z方向的距離,也就是到紅外相機光心的距離,更準確的說是到相機座標系XOY平面的距離。
實驗結果如下:第一行是在深度圖像空間中的座標,第二行是在相機空間中的座標(單位不一樣)。實際是完成了像素座標到相機空間座標的轉換。Z值不變,X、Y發生變化時因爲轉換過程與測得的距離有關係,距離在變化所以X、Y的座標也在跟着變,具體見小孔成像模型。
3.彩色圖像空間
ColorSpace也就是彩色空間,官網的定義如下:
其實就是彩色圖像,(0,0)對應於圖片的左上角,而(1919,1079)代表着圖片的右下角。 彩色相機是和紅外相機有一定位姿變換的,觀察的視角也就不相同,再加上深度圖和彩色圖的分辨率不同因此得到的圖像也就不能按像素直接對應,具體的轉換公式見彩色圖和深度圖配準的博客。
4.結論
深度相機測得的距離是到紅外相機光心的距離,也就是到相機空間座標系XOY平面的距離。