立体视觉–立体校正原理简述
最近在搞双目相机设备,包括相机标定、立体标定和立体校正。对于标定部分,看的资料不多,所以暂时先不提,对于立体校正部分近期看的资料比较多,想简单的叙述一下。
以下内容都是本人自己的理解,如果有不正确的地方,也欢迎大家指正!!!
关于立体校正:
- 1、怎么样算是极线水平,即立体校正后应该达到什么样的效果?
立体校正后的效果如上图所示。即,当满足以下条件时,认为两个相机平面的极线水平
即,认为矫正之后的左右相机之间只存在水平方向的位移(水平放置的双目设备)或垂直方向的位移t=(0,T,0)
(垂直放置的双目设备)。
并通常会为新的相机指定相同的内参(Fusiello方法(论文地址)和Bouguet方法所计算的新内参方法相同,均为k/2)。toolbox标定工具箱对于新的内参计算方法不同。
关于Fusiello方法,李博士的一篇CSDN讲的很好,在此附上链接地址。
-
2、立体校正的过程
-
1、第一次的旋转
如下图所示:
对右图做旋转,使左右图像平面平行
这个过程一般有两种方法:
1、直接根据左右图的旋转矩阵R旋转达到平行。(Fusiello方法)
2、左图正向旋转R/2,右图反向旋转R/2达到平行。(Bouguet方法,toolbox工具箱方法)
(这里用R/2其实并不准确,应该说是两幅图像之间的夹角的一半) -
2、第二次旋转
设计一个新的相机坐标系,目的通常是使新的像平面共面且平行于相机基线(相机主点之间的连线)
1、Fusiello方法
2、Computer Vision的一种方法
3、Bouguet方法
4、参考文献[3]中的方法
具体的计算过程和方法我就不详细讲了,有感兴趣的可以通过下方的参考文献,获取论文然后仔细观看、琢磨、推敲之后,效果更佳。
参考文献:
[1].A compact algorithm for rectification of stereo pairs
[2].Matlab 相机校准工具箱 toolbox
[3].Single-Shot Structured Light Sensor for 3D Dense and Dynamic Reconstruction
[4].Stereo Vision