OpenCV中提供了多种双目匹配算法,比如BM,SGBM,HH等,并提供了各算法主要参数的设置与获取方式,加速了双目匹配的算法开发。双目匹配遵循以下的流程:相机标定左右相机的内外参——>对左右图像进行畸变校正——>选择匹配算法对校正后的图像进行匹配,计算视差。各匹配算法也遵循一定的流程,具体的细节在以后对匹配算法剖析中说明。
相机标定:
相机标定常用棋盘格标定法,网上提供的工具有很多,常用的是OpenCV或MATLAB提供的标定工具,具体网址如下:
http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration
http://www.vision.caltech.edu/bouguetj/calib_doc/
相机标定后会有两个文件,分别对应内参矩阵和外参矩阵,OpenCV中两个文件为yml格式,其中内参文件intrinsics.yml中M1,M2为相机内参焦距(fx, fy),光心( cx, cy),D1,D2为相机畸变(k1,k2,p1,p2[,k3[,k4,k5,k6[,s1,s2,s3,s4[,τx,τy]]]]),有4,5,8,12或14个元素。
左右图像畸变校正:
OpenCV中提供了图像校正的函数,