matlab与opencv双目相机标定对比

之前听前辈说matlab标定更稳定,结果更准确,就分别用matlab和opencv标定了相机做一下对比。

matlab标定过程比较麻烦,左右相机各24张图片,提取角点时一张图片点四次,还要比较小心,自己体会。。。

matlab的标定结果如下:

matlab与opencv双目相机标定对比_第1张图片

opencv标定先使用cvCalibrateCamera2()函数对左右相机分别进行标定,再使用cvStereoCalibrate()函数进行立体标定。

标定结果如下:

matlab与opencv双目相机标定对比_第2张图片

对比发现,两者的标定结果差距并不大,opencv标定的稳定性也可以。

opencv的优势在于多次标定比较快捷,而且标定的结果可以直接用于后续的立体校正、立体匹配中。

matlab的优势在于可以显示重投影误差、3D效果图等,而且可以单张图片单独使用不同的窗口标定等等。

附matlab标定的立体效果图一张。

matlab与opencv双目相机标定对比_第3张图片

(ps:可通过平移矩阵的值来判断标定结果的正确性,比如我的相机基线长度150mm,棋盘格尺寸20mm

标定得到的平移矩阵的值为149.36,比较精确,差不多跟基线长度相等了)

你可能感兴趣的:(双目视觉)