1. 程式人生 > >Matlab2015 雙目相機自動標定

Matlab2015 雙目相機自動標定

匹配 鏡頭 過程 旋轉 單位 com 選擇 spa 使用

一、 標定步驟

1. 調出標定工具箱

在命令行輸入stereoCameraCalibrator,出現如下界面:

技術分享

2. 勾選相應的選項

然後將上面的“Skew”、“Tangential Distortion”以及“3 Coefficients”等選項選上,將“2 Coefficients”選項去掉,如下:

技術分享

3. 載入圖像

然後點擊添加圖像,出現如下界面:

技術分享

Camera1代表左攝像頭,Camera2代表右攝像頭,分別選擇存放著左右圖像的文件夾,需要特別註意的是棋盤格的邊長應該根據打印的實際大小填寫,單位可以選擇

然後點擊OK,程序會自動檢測采集的圖像到底有多少可以使用,可以說MATLAB2015的這個工具十分挑剔,如果角度不好的話,將使用不了,因此在采集圖像時,最好多的采集一些。(此處只是為了說明標定步驟,所以使用的圖像較少)。

技術分享

4. 標定

點擊技術分享按鈕,開始標定:

技術分享

5. 校準

從下圖可以看到,平均的標定誤差以及標定過程中誤差較大的的圖像對。

技術分享

點擊選擇不想接受的誤差直方圖,可以直接在左邊的圖像對中找到對應的圖像,右鍵選擇“Remove and Recalibrate”:

技術分享

可以重復上述步驟,直到認為誤差滿足標定需求為止。

6. 導出參數

點擊技術分享選擇Export camera parameters, 並點擊“OK”。

技術分享

二、 參數讀取

標定結束後,會得到如下標定參數:

技術分享

CameraParameters1與CameraParameters2為左右攝像頭的內部參數,RotationOfCamera2與TranslationOfCamera2為兩個攝像頭的旋轉、平移參數。

1. 兩個攝像頭的平移和旋轉參數

平移參數可直接使用;但旋轉參數需進行轉置才能使用。

2. 攝像機內參矩陣

CameraParameters1與CameraParameters2中包含如下文件:

技術分享

IntrinsicMatrix存放的是攝像頭的內參,只與攝像機的內部結構有關,需要先轉置再使用。

3. 畸變參數

RadialDistortion和TangentialDistortion中存放的是畸變參數, RadialDistortion為徑向畸變,攝像頭由於光學透鏡的特性使得成像存在著徑向畸變,可由K1,K2,K3確定。TangentialDistortion為切向畸變,由於裝配方面的誤差,傳感器與光學鏡頭之間並非完全平行,因此成像存在切向畸變,可由兩個參數P1,P2確定。

不過在使用時,需要註意參數的排放順序,即K1K2P1P2K3。切記不可弄錯,否則後續的立體匹配會出現很大的偏差。

Matlab2015 雙目相機自動標定