相機內參 相機標定(張正友標定演算法)解讀與實戰一

2021-10-14 22:25:06 字數 2015 閱讀 3633

世界座標系、相機座標系 、歸一化平面座標系、 像平面座標系、 畫素座標系。

關於相機模型的文章太多了,要搞清楚,首先要弄清楚這5個座標系,以及他們之間的轉換關係。我這裡開始由世界座標系一步一步推導到畫素座標系進行講解。

針孔相機模型

世界座標系到相機座標系

實際上是兩個三維座標系之間的轉換關係,屬於剛體變換,也就是說只有旋轉r和平移t變換。旋轉矩陣r是正交矩陣的單位矩陣,並且r的轉置等於r的逆。xc座標系的點,xw世界座標系的點。

r表示旋轉矩陣,t表示平移向量,如果把xc , xw 寫成齊次向量的形式,那麼他們之間的變換關係就可以寫成矩陣相乘的形式。

相機座標系和世界座標系之間可以互相轉換,其中最常用的就是如何確定相機中心在世界座標系中的位置

由於相機在相機座標系的座標為原點 xc = [ 0 0 0 ],

所以相機在世界座標系中的座標:

相機座標系到像平面座標系

根據三角形相似

寫成矩陣的形式

像平面座標系到影象座標系

由於影象座標系是用畫素表示的,像平面座標系都是m為單位的,所以要進行轉換,dx,dy 分別表示x和y方向每個畫素占多大。

fx , fy 的單位是畫素。

由於像平面的原點在中心,而畫素座標的原點在左上角,因而需要在x和y方向分別平移 cx,cy個畫素

相機座標系->像平面座標->畫素座標

其中矩陣為相機內參矩陣,只和相機本身有關fx,fy為相機焦距,一般情況下兩者相等,cx,cy為中心偏移畫素,一般情況下為影象的1/2,那麼世界座標系到畫素座標系就可以寫成:

其中[ r ∣ t ] 為 外 參 矩 陣 , 表 示 世 界 坐 標 系 到 相 機 坐 標 系 的 轉 換 矩 陣 , k 為 相 機 內 參 矩 陣 [r|t] 為外參矩陣,表示世界座標系到相機座標系的轉換矩陣

p為投影矩陣,表示乙個4x4的矩陣。

關於針孔相機模型就解釋到這裡。

相機畸變模型

相機畸變模型一般包括徑向畸變切向畸變

徑向畸變是由於透鏡的形狀導致的,有桶形畸變和枕形畸變。對應的數學模型:

切向畸變是由於安裝導致透鏡和成像平面不嚴格平行。對應的數學模型:

徑向畸變和切向畸變矯正聯合在一起:

x,y 的值對應的是歸一化平面座標系的值,因而在校正影象的時候需要先把畫素座標轉換為歸一化平面座標,然後再校正,最後再把校正後的ydist,ydist計算到畫素座標。

畸變係數涉及k1,k2,k3,p1,p2

參考:視覺slam十四講

張正友相機標定

1.關於資料說明 張正友標定2000 lm演算法1978 the levenberg marquardt algorithm,implementation and theory opencv 參考 其中關於calibratecamera函式可見 此函式會輸出乙個3x3內參矩陣,乙個5維畸變係數,n幅...

張正友相機標定法

1.為什麼需要相機標定 因為每個鏡頭在生產和組裝過程中可能會出現不同程度的畸變 畸變是一種光學錯位現象,通俗的講就是本來是直線的物體,實際拍出的效果是扭曲的 而通過相機標定可以矯正這種畸變,避免拍出的影象出現畸變。另外,可以根據相機標定得到的相機引數建立相機成像幾何模型,將世界座標系中的3d影象對映...

張正友相機標定(概括總結)

好,科普完畢,進入正題。計算機視覺基本上都要進行相機標定。標定的目的一是矯正畸變,二就是獲得三維空間不同點的位置關係。畸變主要分為徑向畸變和切向畸變。徑向畸變又可以分為桶形畸變和枕形畸變。徑向畸變的產生原因是鏡頭打磨時的不精確導致的。切向畸變是由於鏡頭與成像平面的不平行導致的。我們可以看出來越是遠離...