1. 程式人生 > >基於Matlab的立體相機標定StereoCalibration與目標三維座標定位

基於Matlab的立體相機標定StereoCalibration與目標三維座標定位

1.Matlab關於立體相機標定與目標三維座標定位的流程

環境:Matlab r2015b

找到 APPS-->Stereo Camera Calibrator-->Add Image,

此時會提示左右攝像頭拍攝的棋盤格標定圖片輸入路徑(Folder for images from camera1 /camera 2),以及實際的棋盤格尺寸(size of checkerboard )

應用會匯入檔案路徑裡面圖片,並且會顯示成功新增的影象對以及拒絕的影象對(rejected stereo pairs),點選 OK ,然後點選 Calibrate,立體標定開始。

show rectified 可以顯示校準後的影象對,export camera parameters可以匯出標定好的引數。

2.引數解釋:

2.1外引數:

RotationOfCamera2  右相機相對於左相機的旋轉矩陣

TranslationOfCamera2 右相機相對於左相機的平移矩陣,一般來說其第一個分量的大小與baseline大小一致

MeanReprojectionError 平均重投影誤差pixel

2.2內參數:

RadialDistortion 徑向畸變

TangentialDistortion 切向畸變

intrinsicMatrix 內參矩陣

[fx 0 0;

0 fy 0;

cx cy 1]

fx = Fsx,fy = Fsy,F為實際物理焦距(單位:mm),sx,sy為成像儀每個最小單元尺寸(單位:pixel/mm),cx,cy為相機光心位置。

focalLength [fx  fy],principlePoint [cx cy]

3.重建3D座標涉及到的一些函式:

rectifyStereoImages:去單個相機畸變,校準立體影象對,使得同一目標點位於同一水平線上,

triangulate:根據左右影象中的目標點,利用三角關係計算目標的3D座標,

disparity:計算左右影象的視差圖,

reconstructScene:根據視差圖重構3D場景圖。