透鏡由於製造精度以及組裝工藝的偏差會引入畸變,導致原始影象的失真。鏡頭的畸變分為徑向畸變和切向畸變兩類。
1. 徑向畸變
顧名思義,徑向畸變就是沿著透鏡半徑方向分布的畸變,產生原因是光線在原理透鏡中心的地方比靠近中心的地方更加彎曲,這種畸變在普通廉價的鏡頭中表現更加明顯,徑向畸變主要包括桶形畸變和枕形畸變兩種。以下分別是枕形和桶形畸變示意圖:
成像儀光軸中心的畸變為0,沿著鏡頭半徑方向向邊緣移動,畸變越來越嚴重。畸變的數學模型可以用主點(principle point)周圍的泰勒級數展開式的前幾項進行描述,通常使用前兩項,即k1和k2,對於畸變很大的鏡頭,如魚眼鏡頭,可以增加使用第三項k3來進行描述,成像儀上某點根據其在徑向方向上的分布位置,調節公式為:
式裡(x0,y0)是畸變點在成像儀上的原始位置,(x,y)是畸變較真後新的位置,下圖是距離光心不同距離上的點經過透鏡徑向畸變後點位的偏移示意圖,可以看到,距離光心越遠,徑向位移越大,表示畸變也越大,在光心附近,幾乎沒有偏移。
2. 切向畸變
切向畸變是由於透鏡本身與相機感測器平面(成像平面)或影象平面不平行而產生的,這種情況多是由於透鏡被貼上到鏡頭模組上的安裝偏差導致。畸變模型可以用兩個額外的引數p1和p2來描述:
下圖顯示某個透鏡的切向畸變示意圖,大體上畸變位移相對於左下——右上角的連線是對稱的,說明該鏡頭在垂直於該方向上有乙個旋轉角度。
徑向畸變和切向畸變模型中一共有5個畸變引數,在opencv中他們被排列成乙個5*1的矩陣,依次包含k1、k2、p1、p2、k3,經常被定義為mat矩陣的形式,如mat distcoeffs=mat(1,5,cv_32fc1,scalar::all(0));這5個引數就是相機標定中需要確定的相機的5個畸變係數。求得這5個引數後,就可以校正由於鏡頭畸變引起的影象的變形失真,下圖顯示根據鏡頭畸變係數校正後的效果:
消除相機透鏡畸變
一般的針孔相機模型如下 三維座標點經過透視投影變換,轉換到乙個影象平面座標點。而相機透鏡還存在一定的畸變,包括橫向畸變和切向畸變。因此,針孔相機模型又被擴充套件為以下模型 首先,世界座標被轉換為相機座標,由x,y,z到x,y,z 然後,歸一化,z 1處,x,y的投影座標x y 接下來,對投影座標,進...
徑向畸變校正
1 畸變矯正主要包括徑向畸變和切向畸變 1 徑向畸變 枕形 桶形 光線在遠離透鏡中心的地方比靠近中心的地方更加彎曲 2 切向畸變 透鏡不完全平行於影象平面,即sensor裝配時與鏡頭間的角度不准 2 徑向畸變矯正原理 1 矯正前後的座標對映 輸出影象 nj,ni 寬高縮放比 矯正後影象 張氏標定法 ...
相機畸變校正詳解
目錄 1.攝像機成像原理簡述 2.成像畸變 2.1.畸變量學模型 2.2.公式推導 3.畸變校正 3.1.理論推導 3.2.實現 成像的過程實質上是幾個座標系的轉換。首先空間中的一點由世界座標系轉換到攝像機座標系,然後再將其投影到成像平面 影象物理座標系 最後再將成像平面上的資料轉換到影象平面 影象...