前言
學習筆記,僅供學習,不做商用,如有侵權,聯系我刪除即可
目標
- 理解針孔相機的模型、內參與徑向畸變參數。
- 理解一個空間點是如何投影到相機成像平面的。
- 掌握OpenCV的圖像存儲與表達方式。
- 學會基本的攝像頭標定方法。
一、相機模型
1.1 針孔相機模型
針孔相機模型如下圖所示:
O':主點
根據針孔相機模型和相似三角形原理,有:關系。為了消除負號,把像面翻轉導共軛面位置即可獲得:
,整理得
。
成像平面到像素坐標:,(cx,cy)主點坐標,(dx,dy):像元尺寸。矩陣形式如下:
Z:深度,相機坐標系下三維空間點距離光心的距離。
K:內參矩陣。
世界坐標 --> 相機坐標 --> (投影成像) 歸一化平面 -->?像素坐標系
T:變換矩陣?
1.2 畸變模型
徑向畸變:由透鏡形狀引起的畸變
- 桶形畸變
- 枕型畸變
切向畸變:組裝時透鏡和成像面不是嚴格平行引入的畸變。
畸變矯正模型:
畸變矯正的流程:
相機標定常用張正友標定法。
當使用Matlab或Opencv進行標定時,畸變系數的排列順序:(k1,k2,p1,p2,k3)
單目相機成像過程總結:
1.3 雙目相機模型
雙目相機成像原理:
根據上圖的幾何關系,有以下關系:
整理后可得:d:視差(disparity),同一點在左右相機相面橫坐標之差。
d最小為一個像素,所以雙目相機模型的深度z具有最大值:fb
1.4 RGB-D相機模型?
不需要計算深度,主動測量深度,按實現原理可分為兩類:
- 結構光(Structured Light)
- 飛行時間法(Time-of-Flight, ToF)