鏡頭畸變和幾何矯正

透鏡由於製造精度以及組裝工藝的偏差會引入畸變,導致原始圖像的失真。鏡頭的畸變分為徑向畸變和切向畸變兩類。

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個參數後,就可以校正由於鏡頭畸變引起的圖像的變形失真,下圖顯示根據鏡頭畸變係數校正後的效果:

鏡頭畸變和幾何矯正



分享到:


相關文章: