博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
双目立体匹配中的核线约束[极线约束]
阅读量:4961 次
发布时间:2019-06-12

本文共 1021 字,大约阅读时间需要 3 分钟。

  双目立体匹配在寻找同名点的过程中,若没有任何先验约束,则对左影像每个像素,需要在右影像全图空间中进行搜索,这种暴力搜索方法不仅效率非常低,而且很容易由于各种因素(如弱纹理、重复纹理等)搜索到错误的对应点,而利用核线几何约束则是减小搜索范围,提高匹配效率且降低错误匹配的一种有效方法。在摄影测量中,核线是核平面与两张影像的交线,核平面是物方点与两个相机中心共同所在的平面,而核线约束描述的是物方点在两张影像上的投影像点一定在同一个核平面上,进而可以推导出,左影像上每个像素点在右影像上的同名点一定在该像点所在核平面与右影像的交线(即核线)上。核线约束将原先二维的搜索空间缩小至一维的核线空间,大大的减小了搜索范围,是提高匹配效率的十分有效的约束。核线约束的描述如图1所示。

图1 核线约束示意图

70

  从图1还可以看到,在左影像中同一个核面相交的核线上所有像素都对应右影像上同一条核线,形成以核线为单位的对应关系,如果能够找出所有的对应核线对,那么匹配将变得更加方便,双目立体视觉中通过核线纠正来完成这一步骤,通过标定好的相机参数,将影像投影至与基线平行的平面上,让两个相机的主光轴相互平行,使得核平面与两张影像的交线位于同一个扫描行,这样同一核线对位于两张影像的同一行,即同名点对的行号一定相等,只存在列号的差异。图2为核线纠正的示意图。

图2 核线纠正示意图

70

  核线纠正之后的图像同名点只存在列号的差异,这种差异就称为视差(严谨来说是列方向视差,因为行方向视差通过纠正消除,所以对于核线像对,视差就指列方向视差),具体来说,视差等于同名点在左影像上的列号减去在右影像上的列号。在核线纠正后,相机坐标系的X轴与基线平行,Z轴与像平面垂直,如图3所示,

图3 深度与视差

70

  通过三角形POlOr和Ppp相似可以得到

式1 深度与视差

70

  进而推导出

式2 深度与视差2

70

  式2中,f为相机焦距(或主距),d为视差。式2描述的是深度与视差之间的关系。在双目立体匹配中视差图和深度图都可以作为匹配的结果,视差图总保存每个像素的视差值,是立体匹配算法中最常用的输出方式。图4是航空影像与近景影像的双目立体核线像对及视差图示意图,图中航空影像视差图为立体匹配算法所得,近景影像视差图为真实视差图。

图4 航空影像与近景影像的视差图示意图

70

转载于:https://www.cnblogs.com/ethan-li/p/10216648.html

你可能感兴趣的文章
Problem A: 分数类的输出
查看>>
自适应网页设计的方法(转)
查看>>
C++内存管理(转)
查看>>
jquery输入文字,实时字数提示
查看>>
毕业设计
查看>>
二、Redis KEY相关命令
查看>>
Win7上装双系统,完美体验Win8(傻瓜操作,简单易懂,亲测成功)
查看>>
Effective C++
查看>>
(转)在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute标记。...
查看>>
Physics Experiment(POJ 3684)
查看>>
[转]如何降低二手烟的危害
查看>>
小白学数据分析----->如何设计和分析数据指标
查看>>
ajax的实现
查看>>
python数据持久存储:pickle模块的基本使用
查看>>
注意区别二位数组和二维指针
查看>>
android ant批量打包
查看>>
我的第一个jQuery扩展(slider)
查看>>
WPF模拟雷达界面效果图
查看>>
DirectX11--HR宏关于dxerr库的替代方案
查看>>
添加cordova-plugin-file-opener2后,打包出错
查看>>