相機標定 和 單應性矩陣H


求解相機參數的過程就稱之為相機標定。


1.相機模型中的四個平面坐標系:

1.1圖像像素坐標系(u,v)

以像素為單位,是以圖像的左上方為原點的圖像坐標系;

1.2圖像物理坐標系(也叫像平面坐標系)(x,y)

以毫米為單位,用物理單位表示圖像像素位置,定義坐標系OXY,原點O定義在相機Zc軸與圖像平面交點;

1.3相機坐標系(Xc,Yc,Zc)

以毫米為單位,以相機的光心作為原點,Zc軸與光軸重合,並垂直於成像平面,且取攝影方向為正方向,Xc、Yc軸

與圖像物理坐標系的x,y軸平行,且OcO為攝像機的焦距f;

1.4世界坐標系(Xw,Yw,Zw)

根據具體情況而定,該坐標系描述環境中任何物體的位置,根據具體情況而定,滿足右手法則;


四個坐標系關系作圖如下:




2.四個坐標系轉換

2.1世界坐標系(Xw,Yw,Zw)->相機坐標系(Xc,Yc,Zc):

攝像機的外參數: 旋轉向量(大小為1×3的矢量或旋轉矩陣3×3)和平移向量(Tx,Ty,Tz)

從相機坐標系到世界坐標系的變換,是通過旋轉矩陣R和平移矩陣t完成的。


式中,M1稱為相機的外參數. R為3*3矩陣,T為3*1矩陣,0為(0,0,0),旋轉矩陣R是坐標軸依次繞x,y和z軸旋轉角度ψ,φ和θ,所形成的三個矩陣Rx(ψ),Ry(φ),Rz(θ)的總乘積,

如下:


矩陣R的計算公式為:



2.2相機坐標系(Xc,Yc,Zc):->圖像物理坐標系(x,y):

攝像機的內參數:攝像機內參數矩陣(fx,fy,u0,v0)和畸變系數(三個徑向k1,k2,k3,兩個切向p1,p2)

OpenCV中的畸變系數的排列(這點一定要注意k1,k2,p1,p2,k3)、


理想的攝像機模型是針孔模型,但是實際的鏡頭不符合這種假設。另外,相機的構造以及制造、安裝、工藝等因素也會造成誤差,導致相機通常會存在多種非線性畸變,使得上面介紹的針孔相機模型並不能准確地描述最終的成像關系。所以,為了使相機標定結果更加准確,在進行相機標定時應該將相機的非線性畸變考慮進來,修正理想投影模型。


徑向畸變

徑向畸變產生的主要原因是鏡頭徑向曲率的不規則變化,它會導致圖像的扭曲變形,例如,空間中的一條直線成像到圖像平面后發生彎曲,變形成一條曲線。這種畸變的特點是以主點為中心,沿徑向移動,離的距離越遠,產生的變形量就越大。徑向畸變是導致圖像畸變的主要因素。如圖所示,一個矩形的嚴重徑向失真被較正成理想線性鏡頭的圖像。 

這里寫圖片描述

徑向畸變模型在OpenCV中被描述為: 

xcorrected=x(1+k1r2+k2r4+k3r6)ycorrected=y(1+k1r2+k2r4+k3r6)

徑向畸變如下圖所示,有桶形畸變和枕形畸變兩種。

這里寫圖片描述


切向畸變

由於透鏡不是完美地平行於圖像平面,所以存在切向畸變。這種畸變使得一些區域看上去比預期的近。畸變模型為: 

xcorrected=x+[2p1xy+p2(r2+2x2)]ycorrected=y+[p1(r2+2y2)+2p2xy]

通常還有離心畸變、薄棱鏡畸變等,但主要畸變是徑向畸變和切向畸變,故opencv中使用這個5個參數描述攝像機畸變,即: 

Distortion  coefficients=(k1,k2,p1,p2,k3)


針孔模型下的理想透視投影變換:

表示為矩陣形式為:

f表示有效焦距

2.3圖像物理坐標系(x,y):->圖像像素坐標系(u,v):



上述公式中我們假設物理坐標系中的單位為毫米,那么dx的的單位為:毫米/像素。那么x/dx的單位就是像素了,即和u的單位一樣都是像素,u0 ,v0是圖像中心(光軸與圖像平面的交點)坐標,dx,dy分別為一個像素在X與Y 方向上的物理尺寸.
上式表示為齊次坐標與矩陣形式表示出來即為:



其逆關系可表示為:


3.世界坐標系與圖像像素坐標系之間的變換關系:


M1稱為相機的內參數,M2稱為外參數







單應性矩陣H,來自於不同角度的拍攝,


轉自:http://blog.csdn.net/yonger_/article/details/55194602


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM