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

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

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

--------------------------------------------------------------------极线-------------------------------------------------------------------------------------

这里写图片描述 
点P和Q,映射到左相机OR像面上的同一点p≡q,只要找到p和q在右相机OT像面上的对应点就可以通过三角计算估计深度。找到对应点的过程,即立体匹配。 
为了找到对应点,需要增加约束,最常用的是极线约束。 
这里写图片描述 
P和Q映射到左相机QR像面上的同一点p≡q,直线pq上的点对应点一定位于右像面的直线p’q’上,p’q’即为直线pq的极线,这就是极线约束。 

---------------------------------------------------------------------极线end------------------------------------------------------------------------------------

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

 

                          (1)

可推导到:


                   (2)

       证明过程:
       已知:

         

       由相似三角形原理:

          

 

     (1)+(2)有:

 (5)

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

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

 

 

 

 

 

 

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server有这些属性吗

2019独角兽企业重金招聘Python工程师标准>>> Navicat for SQL Server是一个全面的图形化方式管理数据库,可进行创建、编辑和删除全部数据库对象,例如表、视图、函数、索引和触发器,或运行SQL查询和脚本,查看或编辑BLOB…

【立体视觉】双目立体标定与立体校正

from:https://blog.csdn.net/u011574296/article/details/73826420 参考: 机器视觉学习笔记(6)——双目摄像机标定参数说明 机器视觉学习笔记(8)——基于OpenCV的Bouguet立体校正 双摄像头立体成像(三)-畸变…

bootstrap .col-md-6 文字居中问题处理

转载于:https://www.cnblogs.com/benbenfishfish/p/5672520.html

机器视觉学习笔记(4)——单目摄像机标定参数说明

from:https://blog.csdn.net/xuelabizp/article/details/50314633机器视觉学习笔记(4)——单目摄像机标定参数说明 标签: 机器视觉1.针孔摄像机模型 在介绍摄像机标定参数之前,需要先简单说一下针孔摄像机的原理。投影…

mysql 5.6 binlog组提交

mysql 5.6 binlog组提交实现原理http://blog.itpub.net/15480802/viewspace-1411356 Redo组提交 Redo提交流程大致如下 lock log->mutex write redo log buffer to disk unlock log->mutex fsync Fsync写磁盘耗时较长且不占用log->mutex,也就是其执行期间其…

张正友相机标定Opencv实现以及标定流程标定结果评价图像矫正流程解析(附标定程序和棋盘图)

from:https://blog.csdn.net/dcrmg/article/details/52939318使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些?相机标定的目的:获…

opencv双目视觉标定、匹配和测量 (附代码)

from:https://blog.csdn.net/bcj296050240/article/details/52778741双目视觉原理方面参照《学习Opencv》和大牛博客 http://blog.csdn.net/chenyusiyuan/article/details/5970799中16-19系列博客。本文主要记录我自己在双目视觉标定,立体匹配&#xff0…

工业相机的选择方法

信号  工业相机的信号类型有模拟信号和数字信号两种。模拟相机必须有图像采集卡,标准的模拟相机分辨率很低,采集到的是模拟信号,经数字采集卡转换为数字信号进行传输存储。工业数字相机采集到的是数字信号,数字信号不受电噪声影…

socket编程初级

什么是socket定义socket通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过套接字向网络发出请求或者应答网络请求。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件…

OpenCV—基本数据结构与示例

OpenCV的基本数据结构及示例OpenCV中强大的Mat类型大家已经比较熟悉了。这里梳理一些在工程中其他经常用到的几种基本数据类型。包括:VecScalarPointSizeRectRotatedRect1. Vec类1.1 基本概念Vec是一个模板类,主要用于存储数值向量。1.2 用法&#xff08…

转载-程序员编程技术迅速提高的终极攻略

2019独角兽企业重金招聘Python工程师标准>>> 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都…

SVM

from:https://blog.csdn.net/liugan528/article/details/79448379 SVM 1. 基本概念 支持向量机(Support Vector Machine, SVM)的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大。SVM是用来解决二分类问题的有监督学…

LoadRunner常用术语

1.场景 2.负载发生器 3.虚拟用户 4.虚拟用户脚本 5.事务 6.思考时间 7.集合点 8.事务响应时间 转载于:https://www.cnblogs.com/Andy-Lv/p/5263707.html

跟我学Shiro目录贴

2019独角兽企业重金招聘Python工程师标准>>> http://jinnianshilongnian.iteye.com/blog/2018398 转载于:https://my.oschina.net/zhanggongming/blog/714844

【WinForm-无边框窗体】实现Panel移动窗体,没有边框的窗体

没有边框的窗体怎么移动?其实方法有很多,下面介绍一种用控件来移动窗体,Panel或PictureBox都可。主要设置控件的MouseDowm和MouseLeave事件。 第一步:窗体设计 窗体最上面是一个panel1 窗体最下面是一个Panel3,只显示最…

\Grokking Algorithms\简介与作者采访

\关键点\这本书目的是告诉读者解决问题的新方法。 \这本书试图通过插图来让大家更容易掌握主题,避免部分读者觉得太费解。 \这本书不仅适合没有接触过算法的人,也适合刚从计算机专业毕业的学生。 \这本书提供了非常多的例子和简单练习。 \这并不是一本参…

ZedGraph使用经验

开源的统计图控件中基本常用的是OpenFlashChar和ZedGraph,今天就先来讲讲ZedGraph的使用。 ZedGraph资源 ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id114675ZedGraph相关例子资源:http://zedgraph.org/wiki/index.…

机器学习实战之SVM

一引言:支持向量机这部分确实很多,想要真正的去理解它,不仅仅知道理论,还要进行相关的代码编写和测试,二者想和结合,才能更好的帮助我们理解SVM这一非常优秀的分类算法支持向量机是一种二类分类算法&#x…

mysql 时间类型 datetime,timestamp

2019独角兽企业重金招聘Python工程师标准>>> CURRENT_TIMESTAMP 的 timestamp 意思是 根据 mysql 的当前时间,使用mysql 的当前时间。 参考地址:http://blog.sina.com.cn/s/blog_67cc6e7d0100nrwk.html datetime 和 timestamp 都是保存时间格…

机器学习中的交叉验证(cross-validation)

from:https://blog.csdn.net/lhx878619717/article/details/49079785 交叉验证(Cross validation),交叉验证用于防止模型过于复杂而引起的过拟合. 有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子…