本发明涉及计算机视觉,特别是涉及一种水平双基线三目视觉的极线校正方法。
背景技术:
1、立体校正是立体匹配中的关键一步,三目视觉系统通过增加第三个相机,可以更有效地减少错误匹配,解决了双目视觉系统匹配的多义性问题。与双目视觉相比,三目视觉立体校正的难点在于必须必须移动第三个相机,以构成特定的几何关系。北京理工大学学报在2005年公开的文章《三目立体视觉外极线校正及其fpga实现方法》公开了将fusiello方法运用至三目视觉立体校正,该方法中相机坐标系围绕光心旋转,而相机位置需要人为进行改动,且fusiello法为新的相机指定一样的内参,对于夹角比较大的双相机系统来说不太合理,在保持主点位置约等于旧主点位置的情况下,对于原先有较大夹角的像对,重叠区显著减少了。
技术实现思路
1、发明目的:本发明的目的是提供一种简洁精准、满足在有较大夹角像对校正需求的水平双基线三目视觉的极线校正方法。
2、技术方案:本发明的一种水平双基线三目视觉的极线校正方法,包括以下步骤:
3、s1:将三台相机水平摆放,进行相机标定,得到内参,旋转矩阵,平移向量;
4、s2:将左坐标系和右坐标系旋转至平行;
5、s3:将左标系和右坐标系旋转至共面;
6、s4:将中间坐标系旋转至于与左右坐标系平行且共面;
7、s5:改变左、右相机内参,使得左、右坐标系x轴在一条直线上;
8、s6:计算三幅图片之间的视差,根据视差移动主点;
9、s7:将新的内参矩阵应用至图片上。
10、进一步的,所述s1包括以下步骤:
11、s11:将三台相机水平摆放,进行三目视觉标定,获得各个相机的内参,相机之间的旋转矩阵和平移矩阵;
12、s12:将左目相机内参、中间相机内参、右目相机内参、左目相机到中间相机的旋转矩阵、左目相机到右目相机的旋转矩阵、中间相机到右目相机的旋转矩阵、左目相机到中间相机的平移向量、左目相机到右目相机的平移向量、中间相机到右目相机的平移向量分别记作al、am、ar、r12、r13、r23、t12、t13、t23;
13、s13:将三个相机坐标系分别记为左、中、右侧坐标系。
14、进一步的,所述s2包括以下步骤:
15、s21:将左侧坐标系和右侧坐标系旋转至平行,将r13转换为旋转向量r;
16、s22:将左侧坐标系沿旋转向量r的正方向旋转一半的r向量,记该旋转矩阵为r1;
17、s23:将右相机坐标系沿旋转向量r的反方向旋转一半的r向量,记该旋转矩阵为r2;
18、s24:将计算得到旋转后的平移矩阵t=t13*r2。
19、进一步的,所述s3包括以下步骤:
20、s31:将左侧坐标系和右侧坐标系旋转至共面;
21、s32:计算t和左侧坐标系x轴正方向的夹角,若大于90度,则计算t和[-1,0,0]的叉积,否则计算t和[1,0,0]的叉积;
22、s33:对得到的旋转向量归一化并转化为矩阵,得到的结果为旋转至共面的旋转矩阵。
23、进一步的,所述s4包括以下步骤:
24、s41:将中间坐标系通过旋转矩阵r23旋转至右侧坐标系;
25、s42:按照步骤2和步骤3旋转至共面且平行。
26、进一步的,所述s5包括以下步骤:
27、s51:将左、中、右相机内参的焦距统一设置为中间相机的焦距;
28、s52:通过对原始图像的角点进行去畸变处理,计算出新的相机内参矩阵和主点坐标;
29、s53:将左侧和右侧相机主点坐标的y值的平均值重新赋给左侧和右侧相机主点,此时左侧和右侧坐标系的x轴在一条直线上。
30、进一步的,所述s6包括以下步骤:
31、s61:计算矫正后结果的视差,得到中间图像到左侧图像、右侧图像到左侧图像、右侧图像到中间图像的x和y方向的视差;
32、s62:根据视差移动中间图像和右侧图像的主点。将得到的新内参重新应用到图片上,至此,三目幅图像平行共面,且它们的x轴在一条直线上,中间图像到左侧图像的x方向的视差等于右侧图像到中间图像的x方向的视差。
33、本发明的一种水平双基线三目视觉的极线校正系统,该水平双基线三目视觉的极线校正系统执行如上所述的水平双基线三目视觉的极线校正方法。
34、本发明的一种电子设备,所述设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如上所述的水平双基线三目视觉的极线校正方法所执行的操作。
35、本发明的一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行如上所述的水平双基线三目视觉的极线校正方法。
36、有益效果:与现有技术相比,本发明具有以下显著优点:(1)本发明在不需要移动相机的情况下可以通过改变相机内参的方式模拟相机的移动,既简单又精确;(2)本发明基于平移向量计算得到旋转至共面的旋转矩阵在有较大夹角的像对时也有良好的校正效果。
1.一种水平双基线三目视觉的极线校正方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的水平双基线三目视觉的极线校正方法,其特征在于,所述s1包括以下步骤:
3.根据权利要求2所述的水平双基线三目视觉的极线校正方法,其特征在于,所述s2包括以下步骤:
4.根据权利要求3所述的水平双基线三目视觉的极线校正方法,其特征在于,所述s3包括以下步骤:
5.根据权利要求4所述的水平双基线三目视觉的极线校正方法,其特征在于,所述s4包括以下步骤:
6.根据权利要求5所述的水平双基线三目视觉的极线校正方法,其特征在于,所述s5包括以下步骤:
7.根据权利要求6所述的水平双基线三目视觉的极线校正方法,其特征在于,所述s6包括以下步骤:
8.一种水平双基线三目视觉的极线校正系统,其特征在于,该水平双基线三目视觉的极线校正系统执行如权利要求1-7中任一项所述的水平双基线三目视觉的极线校正方法。
9.一种电子设备,其特征在于,所述设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1-7中任一项所述的水平双基线三目视觉的极线校正方法所执行的操作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-7中任一项所述的水平双基线三目视觉的极线校正方法。