照相机的成像变换
1 變換過程
照相機的成像變換過程可以分為3步:世界坐標系——>相機坐標系——>圖像坐標系——>像素坐標系
?
2 世界坐標系——>相機坐標系
景物從世界坐標系轉換到相機坐標系需要使用到剛體變換(物體不發生變形,對一個幾何物體做旋轉或平移)
剛體變換如下圖所示:
變換的數學表達式為:
簡化:
其中,代表相機坐標系,代表世界坐標系,
矩陣代表旋轉變換,向量代表平移。稱為相機的外參數,與相機無關。
?
旋轉變換由3種變換組成:繞 x 軸旋轉,繞 y 軸旋轉和繞 z?軸旋轉,用公式表示為:
其中分別表示繞 x 軸旋轉,繞 y 軸旋轉和繞 z?軸旋轉的旋轉矩陣。
?
3?相機坐標系——>圖像坐標
此變換通過小孔成像實現,其原理如下圖所示:
簡化其投影過程,
已知位于相機坐標系的一個點, 投影到圖像的點,由相似三角形:
可得:
用矩陣表示:
?
4?圖像坐標系——>像素坐標系
下方圖像標注了兩種坐標系:
表示圖像坐標系,其坐標是連續的;
代表像素坐標系,其坐標只能是大于零的整數,中心像素點的坐標為,
每一個像素點的長寬為:dx, dy, 即為感光芯片上像素的實際大小。
從圖像坐標系到像素坐標系的變換公式為:
用矩陣表示:
?
5 相機坐標系——>像素坐標系
綜合3和4兩部分,隱去圖像坐標系,直接求取從相機坐標系到像素坐標系的變換矩陣
為了去掉z,轉換為其次矩陣
簡化:
其中
K 為相機的矯正矩陣(calibration matrix)
如果算入圖像的傾斜度K為:
這里的cx,cy即為u0, v0
?
6?世界坐標系——>像素坐標系
由2和5部分的分析,可得:
簡化:
M 為一個3*4的矩陣,11個未知參數,其中
5個未知參數來自內參矩陣(intrinsic matrix)
3個來自外參旋轉
3個來自外參平移
?
總結
- 上一篇: Python数据类型-----列表
- 下一篇: 进入opencv内部函数调试