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

2021-09-17 08:23:46 字數 2248 閱讀 2874

好,科普完畢,進入正題。計算機視覺基本上都要進行相機標定。標定的目的一是矯正畸變,二就是獲得三維空間不同點的位置關係。

畸變主要分為徑向畸變和切向畸變。徑向畸變又可以分為桶形畸變和枕形畸變。徑向畸變的產生原因是鏡頭打磨時的不精確導致的。,切向畸變是由於鏡頭與成像平面的不平行導致的。我們可以看出來越是遠離鏡頭中心的位置畸變的程度越大。

紅色的座標系是攝像機座標系,綠色的座標系是影象座標系,影象座標系的上面黑色的是畫素座標系,最靠右邊的是世界座標系。

等式左邊是畫素座標,右邊是世界座標左乘三個矩陣。[r|t]是外參矩陣,r是旋轉矩陣,t是平移向量。左乘外參矩陣就將世界座標從世界座標系轉換到攝像機座標系了。然後再左乘

[ f0

00f0

001]

\begin f& 0 & 0 \\ 0 & f & 0 \\ 0 & 0 & 1 \end

⎣⎡​f00

​0f0

​001

​⎦⎤​

就可以從攝像機座標系轉換到影象座標系了,然後再左乘

[ 1d

x0u0

01dy

v000

1]\begin \frac& 0 & u_0\\ 0 & \frac & v_0 \\ 0 & 0 & 1 \end

⎣⎡​dx1

​00​

0dy1

​0​u

0​v0

​1​⎦

⎤​就從影象座標系轉換到畫素座標系了。這樣我們就完成了乙個點從世界座標系到畫素座標系的轉換。請注意,我們無法將乙個點從畫素座標系對映到世界座標系,因為我們不知道zc,這是乙個放縮的比例因子。從三維到二維,我們可以捨棄一維,但從二維到三維卻是無法確定的。

這裡zc用s替代,為什麼zw變成了0呢,這是因為我們假設棋盤格處於世界座標系的zw=0的平面上,

你可以把λ

\lambda

λ當成s的倒數,反正它是任意的放縮因子。h是單應性矩陣,什麼是單應性矩陣呢,就是從乙個面到另外乙個面的點對點的對映關係的體現。例如這樣:

請注意單應性矩陣只有8個自由度,因為1等於h的第三行乘以

[ xw

yw1]

\begin x_w\\ y_w\\ 1\\ \end

⎣⎡​xw​

yw​1

​⎦⎤​

,我們知道乙個方程可以約束乙個自由度,但是xw,yw是任意的,所以只能h丟失乙個自由度。在計算的時候往往把最後乙個元素置為1。一對點可以得到兩個等式,那麼四對點就可以得到8個等式,從而確定乙個單應性矩陣。所以說棋盤格的角點數量不能少於四個。

棋盤格上的點的座標是已知的,畫素座標系上的角點可以用角點檢測法求取。也就是說單應性矩陣是已知的了

這其實就是待定係數法求解方程係數。總之乙個單應性矩陣可以確定兩個等式,現在有5個內參加上乙個過渡參量λ

\lambda

λ六個未知量需要求解,所以呢至少需要三個單應性矩陣,也就是三個處於不同位置的棋盤格來進行標定。實際實驗中考慮誤差問題,往往選擇將棋盤格換十幾二十個位置進行標定,然後用最大似然法取最優解。

**網上多的是,如果你嫌麻煩,請點這裡

張正友相機標定

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

張正友相機標定法

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

張正友標定學習

張正友標定學習 1 標定的理解 影象和三維空間的物體存在某一種對應關係,可以表示為x mx,而其中的m就表示一種幾何模型,這個相機模型中的引數就是相機引數,所以確定相機引數 內參 外參 的過程就為標定。2 從計算機視覺角度理解成像過程 簡化成像模型 薄透鏡針孔模型 圖 成像過程 如上圖所示,從計算機...