https://www.cnblogs.com/sonicmlj/p/8067494.html

在双目视觉中,我们对相机进行标定和校正,最终目的是使得两个相机的光轴完全平行,这样才能够继续后续的深度计算,三维重建。这样的校正在OPencv中采用的是Bouguet的极线校正的算法。

校正前的左右相机的光心并不是平行的,两个光心的连线就叫基线(主镜头中心的连线),像平面与基线的交点就是极点,像点与极点所在的直线就是极线,左右极线与基线构成的平面就是空间点对应的极平面。

校正后,极点在无穷远处,两个相机的光轴平行。像点在左右图像上的高度一致。这也就是极线校正的目标。校正后做后续的立体匹配时,只需在同一行上搜索左右像平面的匹配点即可,能使效率大大提高。

Bouguet的方法是一种标定立体矫正方法,需要实现对左右相机进行标定,是将OPencv求解出来的旋转和平移矩阵分解成左右相机各旋转一半的旋转和平移矩阵R1,T1与R2,T2。分解的原则是使得,左右图像重投影造成的畸变最小,左右视图的共同面积最大。

1、将右图像平面相对于左图像平面的旋转矩阵分解成两个矩阵Rl和Rr,叫做左右相机的合成旋转矩阵。将左右相机各旋转一半,使得左右相机的光轴平行。此时左右相机的成像面达到平行,但是基线与成像平面不平行(行不对准)。

此时两个矩阵满足以下关系,通过这个关系可以看出来rl和rr是正交阵

2、构造变换矩阵Rrect使得基线与成像平面平行(行对准)。构造的方法是通过右相机相对于左相机的偏移矩阵T完成的。

(1)首先先创建一个由极点el方向开始的旋转矩阵,令主点(cx,cy)为左图像原点,则极点el的方向就是相机投影中心之间的平移向量方向.

(2)e2方向与主光轴方向正交,沿图像方向,与e1垂直,则知e2方向可通过e1与主光轴方向的叉积并归一化获得。

(3)获取了e1与e2后,e3与e1和e2正交,e3自然就是他们两个的叉积:

Rrect如下:

(4)通过合成旋转矩阵与变换矩阵相乘获得左右相机的整体旋转矩阵。左右相机坐标系乘以各自的整体旋转矩阵就可使得左右相机的主光轴平行,且像平面与基线平行。

3.通过上述的两个整体旋转矩阵,就能够得到理想的平行配置的双目立体系图像。校正后根据需要对图像进行裁剪,需重新选择一个图像中心,和图像边缘从而让左、右叠加部分最大。

【相机标定系列】双目相机标定要求,基础知识,相机参数相关推荐

  1. 计算机vb基础知识,2018年计算机二级考试VB基础知识:参数的传递

    2018年3月计算机等级考试即将开始,小编在这里为考生们整理了2018年计算机二级考试VB基础知识,希望能帮到大家,想了解更多资讯,请关注出国留学网的及时更新哦. 2018年计算机二级考试VB基础知识 ...

  2. 23篇大数据系列(二)scala基础知识全集(史上最全,建议收藏)

    作者简介: 蓝桥签约作者.大数据&Python领域优质创作者.管理多个大数据技术群,帮助大学生就业和初级程序员解决工作难题. 我的使命与愿景:持续稳定输出,赋能中国技术社区蓬勃发展! 大数据系 ...

  3. 23篇大数据系列(一)java基础知识全集(2万字干货,建议收藏)

    大数据系列爽文,从技术能力.业务基础.分析思维三大板块来呈现,你将收获: ❖ 提升自信心,自如应对面试,顺利拿到实习岗位或offer: ❖ 掌握大数据的基础知识,与其他同事沟通无障碍: ❖ 具备一定的 ...

  4. mysql bdb_深入了解mysql它BDB系列(1)---BDB基础知识

    深入了解mysql它BDB系列(1) ---BDB关基础知识 作者:杨万富 一:BDB体系结构 1.1.BDB体系结构 BDB总体的体系结构如图1.1所看到的,包括五个子系统(见图1.1中相关数).1 ...

  5. 数据可视化系列-04数据大屏基础知识

    文章目录 5.销售数据看板 5.1 了解数据大屏基础知识 1.数据大屏简介: 2.数据大屏使用场景 3.数据大屏分类 5.2 数据大屏的设计: 1.大屏前端设计流程 2.数据大屏设计尺寸解析 3.可视 ...

  6. 【机器视觉】基础知识---相机篇

    相机 相机种类 相机参数 像素/分辨率 靶面尺寸 像元尺寸 传感器(类型及厂家) 快门方式 帧率 色彩模式 数据接口 镜头接口 简单选型 相机种类 常用的工业相机类型:面阵相机.线阵相机.3D相机 相 ...

  7. 深入浅出Yolo系列之Yolov3amp;Yolov4核心基础知识完整讲解

    Datawhale干货 作者:知乎-江大白  编辑:AI算法与图像处理 本文来源:https://zhuanlan.zhihu.com/p/143747206 已授权转载,如需转载请联系原作者,禁止二 ...

  8. 1900页Python系列PPT分享一:基础知识(106页)

    总体说明:本套PPT共约1900页,包含董付国老师Python系列图书<Python程序设计基础>(2017年7月第5次印刷).<Python程序设计(第2版)>(2017年9 ...

  9. css专业名词,CSS进阶系列一(flex布局基础知识——介绍、规范、主要思想、专业术语)...

    一.介绍 flex是flexible box的缩写,意为弹性布局.flexible box是CSS3新增加的,用来为盒模型提供最大的灵活性.flex旨在提供一个更加有效的方式来布置,对齐和分布在容器之 ...

  10. ROS开发系列(1)- ROS基础知识

    1.常用指令 1.1 roscore 启动一个roscore就相当于是开启了一个rosmaster,也就是管理器 1.2 rosrun rosrun指令的第一个参数是功能包的名字,如果这个时候双击ta ...

最新文章

  1. 自己动手实现轻量级神经网络推理框架
  2. 【软件期刊01】2017-02-22
  3. WINCE6.0隐藏文件夹和应用程序访问物理寄存器
  4. Python ndarray.strides用法
  5. MFC提供的集合类CStringArray类和CPtrArray类
  6. CRM order lock will trigger product read API
  7. linux加载内核后如何运行app,Android app启动过程
  8. HTML 学习笔记 day one
  9. Jquery Mobile 画面导航栏共用的实现方法
  10. 【POI1999codevs3634】积水,关于sunshine爷的NOIP(suan)水(ge)题(pi)赛
  11. 腾讯云 AI 在新基建领域下一盘什么大棋
  12. S3C2440看门狗定时器(Watchdog)
  13. 高中计算机学科教学计划,高一信息技术教学计划及进度表.doc
  14. 网络安全宣传周:强调个人信息保护│预防个人信息泄露实操指南
  15. 快速生成 .ftl 文件
  16. 车机中行车记录仪(DVR)MVP模式开发总结
  17. python爬虫-北京租房可视化分析
  18. 笔记本如何关闭屏幕亮度自动调节(解决切换界面时屏幕忽明忽暗的问题)
  19. BPM系统终于告一段落
  20. Pathon 连接数据库

热门文章

  1. pywinauto简单示例
  2. Oracle使用mybatis批量添加
  3. Android自定义 view之图片裁剪从设计到实现
  4. icp光谱仪的工作原理_创想仪器(GLMY)光电直读光谱仪和X荧光光谱仪的区别
  5. android自定义ViewPager之——3D效果应用
  6. 就你赚的那点钱,我们家哪里有能力请护工?
  7. java xss 参数_JAVA 重写HttpServletRequest的获取参数防止xss攻击
  8. 存在out参数的webservices_Sentaurus Device材料参数的那些事
  9. mysql int 11 最大多少_mysql - mysql中int(11)的列大小是多少? - 堆栈内存溢出
  10. delphi 热成像摄像机源代码_红外热成像技术广泛应用于夜间及恶劣气候下目标的监控...