stereoCalibrate用於標定立體相機。
基本介紹
- 中文名:stereoCalibrate
- 定義:用於標定立體相機
- 形式:C++
- 分類:計算機
函式形式,參數,說明,
函式形式
C++:
cvStereoCalibrate( const CvMat* object_points, const CvMat* image_points1,
const CvMat* image_points2, const CvMat* npoints,
CvMat* camera_matrix1, CvMat* dist_coeffs1,
CvMat* camera_matrix2, CvMat* dist_coeffs2,
CvSize image_size, CvMat* R, CvMat* T,
CvMat* E CV_DEFAULT(0), CvMat* F CV_DEFAULT(0),
CvTermCriteria term_crit CV_DEFAULT(cvTermCriteria(
CV_TERMCRIT_ITER+CV_TERMCRIT_EPS,30,1e-6)),
int flags CV_DEFAULT(CV_CALIB_FIX_INTRINSIC));
參數
o objectPoints– 校正的圖像點向量組.
o imagePoints1–通過第一台相機觀測到的圖像上面的向量組.
o imagePoints2–通過第二台相機觀測到的圖像上面的向量組.
npoints--角點數
o cameraMatrix1– 輸入或者輸出第一個相機的內參數矩陣
o distCoeffs1– 輸入/輸出第一個相機的畸變係數向量
o cameraMatrix2– 輸入或者輸出第二個相機的內參數矩陣
o distCoeffs2– 輸入/輸出第二個相機的畸變係數向量
o imageSize– 圖像檔案的大小——只用於初始化相機內參數矩陣。
o R– 輸出第一和第二相機坐標系之間的旋轉矩陣。
o T– 輸出第一和第二相機坐標系之間的旋轉矩陣平移向量
o E–輸出本徵矩陣。
o F–輸出基礎矩陣。
o term_crit– 疊代最佳化算法終止的標準。
o flags–
不同的FLAG,可能是零或以下值的結合:
§ CV_CALIB_FIX_INTRINSIC要確認cameraMatrix? and distCoeffs?所以只有R, T, E , 和F矩陣被估計出來
§ CV_CALIB_USE_INTRINSIC_GUESS根據指定的FLAG最佳化一些或全部的內在參數。初始值是由用戶提供。
§ CV_CALIB_FIX_PRINCIPAL_POINT在最佳化過程中確定主點。
§ CV_CALIB_FIX_FOCAL_LENGTH確定和 .
§ CV_CALIB_FIX_ASPECT_RATIO最佳化 . 確定的比值.
§ CV_CALIB_SAME_FOCAL_LENGTH執行以及 .
§ CV_CALIB_ZERO_TANGENT_DIST設定每個相機切向畸變係數為零並且設為固定值。
§ CV_CALIB_FIX_K1,...,CV_CALIB_FIX_K6在最佳化中不改變相應的徑向畸變係數. 如果設定CV_CALIB_USE_INTRINSIC_GUESS , 使用distCoeffs矩陣提供的係數。否則將其置零.
§ CV_CALIB_RATIONAL_MODEL能夠輸出係數k4,k5,k6。提供向後兼容性,這額外FLAG應該明確指定校正函式使用理性模型和返回8個係數。如果FLAG沒有被設定,該函式計算並只返回5畸變係數。
說明
該函式計算了兩個攝像頭進行立體像對之間的轉換關係。如果你有一個立體相機的相對位置,並且兩個攝像頭的方向是固定的,以及你計算了物體相對於第一照相機和第二照相機的姿態,(R1,T1)和(R2,T2),各自(這個可以通過solvepnp()做到)通過這些姿態確定。這意味著,給定予(:數學:t_1),就可以計算(:數學:t_2)。你只需要知道第二相機相對於第一相機的位置和方向。
除了立體的相關信息,該函式也可以兩個相機的每一個做一個完整的校準。然而,由於在輸入數據中的高維的參數空間和噪聲的,可能偏離正確值。如果每個單獨的相機內參數可以被精確估計(例如,使用calibratecamera()),建議您這樣做,然後在本徵參數計算之中使用CV_CALIB_FIX_INTRINSIC的功能。否則,如果一旦計算出所有的參數,它將會合理的限制某些參數,例如,傳遞CV_CALIB_SAME_FOCAL_LENGTH and CV_CALIB_ZERO_TANGENT_DIST,這通常是一個合理的假設。
與calibratecamera()類似,該函式最大限度地減少了從相機中所有可用的視圖的所有點的總的重投影誤差。該函式返回的重投影誤差最終值。