基於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場景圖。