博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
双目立体视觉的数学原理
阅读量:4030 次
发布时间:2019-05-24

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

1、双目相机--双目视差与深度距离关系推导详解 

转自:http://blog.csdn.net/xiaohaijiejie/article/details/49721415、http://blog.csdn.net/wangxiaokun671903/article/details/38322771

相机成像的模型如下图所示:

        P为空间中的点,P1和P2是点P在左右像平面上的成像点,f是焦距,OR和OT是左右相机的光心。由下图可见左右两个相机的光轴是平行的。XR和XT是两个成像点在左右两个像面上距离图像左边缘的距离。

     若两个相机已经校正完成即达到极线平行,两条光轴方向也平行。则视差和物体深度的关系式如下:

                          (1)

可推导到:

                   (2)

d——即为 视差;不是|P1P2|;就是XR-XT,就是XR-XT,就是XR-XT,重要的事情说三遍。

证明过程:

       已知:

         

       由相似三角形原理:

          

     (1)+(2)有:

 (5)

       其中b1可以用b、XR和XT表示。

       可得(5)式变为(1)式:。证毕。

 

 

      由上面两幅图,可知距离像面越近的点,它在左右相机中的视差越大,距离像面越远的点,它在左右相机中的视差越小。

深度Z和视差的关系图如下:

2、双目立体视觉的数学原理

转自:http://blog.csdn.net/shenziheng1/article/details/52883536

1.前言戏说

双目立体视觉是基于视差原理,由多幅图像获取物体三维几何信息的方法。在机器视觉系统中,双目视觉一般由双摄像机从不同角度同时获取周围景物的两幅数字图像,或有由单摄像机在不同时刻从不同角度获取周围景物的两幅数字图像,并基于视差原理即可恢复出物体三维几何信息,重建周围景物的三维形状与位置。
双目视觉有的时候我们也会把它称为体视,是人类利用双眼获取环境三维信息的主要途径。从目前来看,随着机器视觉理论的发展,双目立体视觉在机器视觉研究中发回来看了越来越重要的作用。本篇帖子主要研究了双目视觉的数学原理。

2.双目立体视觉的数学原理

双目立体视觉是基于视差,由三角法原理进行三维信息的获取,即由两个摄像机的图像平面和北侧物体之间构成一个三角形。一直两个摄像机之间的位置关系,便可以获得两摄像机公共视场内物体的三维尺寸及空间物体特征点的三维坐标。所以,双目视觉系统一般由两个摄像机构成。

2.1 双目立体视觉三维测量原理

上图所示为简单的平视双目立体成像原理图,两摄像机的投影中心连线的距离,即基线距离B。两摄像机在同一时刻观看时空物体的同一特征点P,分别在“左眼”和“右眼”上获取了点P的图像,他们的坐标分别为Pleft=(Xleft,Yleft);Pright=(Xright,Yright)。将定两摄像机的图像在同一平面上,则特征点P的图像坐标的Y坐标一定是相同的,即Yleft = Yright =Y。由三角几何关系可以得到如下关系式:
则视差为:Disparity=Xleft-Xright.由此可以计算出特征点P在摄像机坐标系下的三维坐标:
因此,左摄像机像面上的任意一点只要能在右摄像机像面上找到对应的匹配点,就完全可以确定该点的三维坐标。这种方法是点对点的运算,像平面上所有点只要存在相应的匹配点,就可以参与上述运算,从而获取对应的三维坐标。

2.2 双目立体视觉数学模型

在分析了最简单的平视双目立体视觉的三维测量原理基础上,现在我们就有能力来考虑一般情况。如上图所示,设左摄像机O-xyz位于世界坐标系原点,且没有发生旋转,图像坐标系为Ol-X1Y1,有效焦距为fl;右摄像机坐标系为Or-xyz,图像坐标系为Or-XrYr,有效焦距为fr。那么根据摄像机的投射模型我们就能得到如下关系式:
  
因为O-xyz坐标系与Or-xryrzr坐标系之间的位置关系可通过空间转换矩阵MLr表示为:
同理,对于O-xyz坐标系中的空间点,两个摄像机面点之间的对应关系可以表示为:
于是,空间点三维坐标可以表示为
因此,只要我们通过计算机标定技术获得左右计算机内参数/焦距fr,fl和空间点在左右摄像机中的图像坐标,就能够重构出被测点的三维空间坐标。

你可能感兴趣的文章
python append 与浅拷贝
查看>>
Matlab与CUDA C的混合编程配置出现的问题及解决方案
查看>>
2017阿里内推笔试题--算法工程师(运筹优化)
查看>>
python自动化工具之pywinauto(零)
查看>>
python一句话之利用文件对话框获取文件路径
查看>>
PaperDownloader——文献命名6起来
查看>>
PaperDownloader 1.5.1——更加人性化的文献下载命名解决方案
查看>>
如何将PaperDownloader下载的文献存放到任意位置
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
查看>>
JVM最简生存指南
查看>>
漂亮的代码,糟糕的行为——解决Java运行时的内存问题
查看>>
Java的对象驻留
查看>>
自己动手写GC
查看>>
Java 8新特性终极指南
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>