先簡單回顧一下電腦視覺的知識。這裡研究生的攝像機模型都是針孔攝像機,攝像機的標定問題是CV領域的一個入門級的問題,初學攝像機標定時會被各種座標系弄暈,這裡再介紹一下,常提到的座標系有四個:全局座標系(Ow,以空間一點為原點)、攝像機座標系(Oc以小孔即光心為原點)、映像物理座標系(O1以像平面中心為原點)、映像像素座標系(O以像平面左下角為原點)。這樣再看相關資料的時候就不會混了吧,這裡再介紹一篇張正友的攝像機定標辦法的相關資料http://beidou841026.blog.163.com/blog/static/4629535201021731344572/
其參數分為內參數和外參數:內參數是攝像機座標系和理想座標系之間的關係(5個內參數,分別為α、β、u0、v0、θ);外參數表示攝像機在全局座標系裡的位置和方向(6個外參數,3個表示旋轉R的角度,3個表示平移t)。
利用calibrateCamera函數可以得到這些內外參數,而calibrationMatrixValues可以得到攝像機投影透視方程的投影矩陣,composeRT可以合并兩個旋轉平移變換,computeCorrespondEpilines計算其他映像的相應epilines,convertPointsToHomogeneous把點從歐式空間轉換到齊次空間,convertPointsFromHomogeneous把點從齊次空間變換到歐式空間,而函數convertPointsHomogeneous把上述兩個函數功能綜合到一起了,decomposeProjectionMatrix可以將矩陣分解,drawChessboardCorners獲得檢測棋盤的角,findChessboardCorners獲得棋盤的內角點位置,findCirclesGrid得到圓圈光柵的中心,solvePnP實現物體位置的3維座標和2維座標之間的轉換,solvePnPRansac利用RANSAC實現上述功能,findFundamentalMat計算兩幅映像關聯點的基礎矩陣,findHomography找出兩個平面的透視變換,estimateAffine3D計算兩個3維點集的理想仿射變換,filterSpeckles可以過濾不同塊的小斑點,getOptimalNewCameraMatrix得到自由比例參數的新攝像機矩陣,initCameraMatrix2D得到3D到2D的初始化的攝像機矩陣,matMulDeriv計算矩陣的偏導數,projectPoints將3D座標投影到映像平面上,reprojectImageTo3D根據一組差異映像重建3D空間,RQDecomp3x3計算3x3矩陣的RQ分解,Rodrigues實現旋轉矩陣和旋轉向量之間的轉換,steroCalibrate校準立體攝像機,steroRectify是對校準過的攝像機計算修正變換,stereoRectifyUncalibrated是對未校準過的攝像機計算修正變換
還包括了BM塊匹配演算法類StereoBM、SGBM塊匹配演算法類StereoSGBM類