目录

几何为一个简单的立体系统

左右 测验

视差的深度

结论


几何为一个简单的立体系统

我们要做的是,对一个非常简单的立体系统,逐步进行几何变换。我们要做的第一件事,是假设光轴是平行的。就是这些(如图1),因为光轴垂直于像平面,这意味着像平面是平行的。实际上,我们假设它们是共面(coplanar)(如图2)。

 1 2

所以这里画的这个图像就好像我们在向下看我们的摄像设备系统,all right? 摄像机向外看(如图),这是图像平面,我们向下看这个平面,这让我们看看立体图像中物体是如何从左向右移动的。

对于我们的几何,我们假设我们的相机被 基线B 隔开并且两个相机的焦距都是 f,所以 f 在两边(如图1)。对于这两个相机,它们的焦距相同。现在,我们假设这个场景中有一个点 P(如图2)。它在摄像机坐标系中的距离是 Z。记住,Z 是一直到投影中心的距离(如图3),okay? 所以这不是像平面的 Z 坐标,而是投影中心的 Z 坐标。如果你还记得,为了数学上的方便,我们把像平面放在投影中心的前面这样就不会倒转。

1 2 3

所以,点P 投射到左边和右边的图像中(如图1)。现在,为了确保你注意,在左图上,距离将是正的(如图2)。 在右边的图像上,距离将是负的(如图3),因为我们的原点正好在中间(如图4)。 0在这里是在图像平面的中间,知道吗? 因此,左侧的距离为正,右侧的距离为负。 这些量 xl 和 xr 意味着是距离,所以它们是正值,但是它们是否正在移动取决于我们所处的图像。

1 2 3

4

这里是我们的点pl 和 点pr,就像我说的那样,这个距离 xl 是光轴的右边,所以它是正的,点pr 是在左边。因此,0的左边是-xr,all right? 所以现在我们可以做一些简单的几何来计算xs,ps,bs,ps和恰好在图片中的其他所有东西之间的关系。 我们想要找到 z 的表达式,所以我们首先使用类似的三角形,就像我们为投影所做的那样,但这些是不同的三角形。 就像这里下面显示的。 我们有第一个三角形,它基于点p和每个投影。 那个三角形显示为黄色(如图2)。 然后还有另一个三角形,它基于投影中心和P点。这一个以蓝色显示(如图3)。 看看它是怎么褪色的。让我备份一下。 它就是。 那是另一个三角形(教授两个三角形变换操作)。 Okay,我们现在有两个相似的三角形。

1 2 3

所以我们可以写下边之间的关系(如图1)。 即B减去这些距离(如图2),这就是这个距离(如图3),okay,就是这个距离(如图4),这只是Z减去f(如图5),与总基线B的比例相同,我会在这里画出来(如图6),就是总Z(如图7)

 1 2 3

4 5 6

7

okay,那些相似的三角形给了我们这种关系,所以很少的重新排列给我们一个Z的表达式(如图1), 左边和右边的量的差,叫做视差(disparity)。这里很酷的是我们根据这两者之间的差异来计算场景中的距离(如图3,4)。

1 2

4

现在你应该问自己一个小问题。 当视差(disparity)为0时会发生什么? 当视差为0时,这意味着场景中的某些点投影到左图像中与右图像相同的点。 换句话说,当我从左边移动到我的右边相机时,这一点似乎没有移动。 记住,我们有一个测验。 我们谈到月亮是如何跟随你的。 嗯,月亮跟着你,因为Z离你很远,左右都没有变化。 所以视差是0,所以深度是什么? 这是无限的,okay。 这是视差和深度之间的反比关系。

左右 测验

有两个图像从立体设置。 其中一个在右手边有一棵树(如图1),一个人站在它前面有点左边(如图2)。 立体图像差别不大。 在第二张图片中,我有相同的树(如图3)。 但是这个人的相对位置有点不同(如图4)。 你能弄清楚哪个是左图像,哪个是右边的图像?

1 2

3

4

左边的图像是左图像,右边的图像是右图像(如图)。

从左图中,我们知道这个人正站在树前。 现在,如果您想象两个立体相机,那么您会注意到左侧相机正在从右侧观察场景(如图1),反之亦然。 同样,如果我们看一下右边的图像并考虑两个立体相机,这里也是一样的(如图2)。 现在,如果我们知道这个人站在树前,那么唯一有意义的组合是左图像来自左摄像头而右图像来自右摄像头(如图3)。 考虑它的一种方法是以下。 如果将视点移到右侧,则距离较近的对象将比远离的对象向左移动更远。

1  2

3

视差的深度

所以在这里我们将向您展示一些视差的例子,okay? 在左侧,你会看到,在这个窗口的底部有一个点,okay? 在这张右边的图像中,顺便说一下,我花了一段时间才弄清楚哪个图像是什么,哪个图像是右边的,我通过在树上向右看这些来做。 你可以看到,在右边的图像中,烟囱已经相对于它后面的树向左移动(如图2),所以这是右边的图像。 发生的事情是,如果我像第一张图片一样到达此图像中的相同位置,我就不会落在窗户上。我实际上必须移动这一点(如图3),以达到那个窗口点。 这就是视差。

1

2

3

事实上,你可以构建所谓的视差图(disparity map)(如图1),对于每个点x,y,你可以说出什么是视差。 你会注意到这个视差图像的一些东西,对,请注意这里的东西比那里的东西更亮(如图2)。 Well,我刚刚制作了一个视差图像,并且记住,视差与深度成反比,因此更亮的值是更接近的zs(如图3)。 all right。 并且较小的值更远(如图4),并且,非常暗的,非常小的值将会更远(如图5)。 okay,这就是从视差到深度的概念。

2

3 4

5

结论

立体几何内容到此结束。这个想法是,如果你校准了相机,如果你知道匹配,那么你就可以计算深度。这是一般的。我们做的唯一的数学运算是视差和深度之间的关系。在下一课中,我们要做的是我们将专注于实际发现差异。找出一幅图像中的哪个点与另一幅图像中的哪个点相匹配。这就是你们在作业中要做的,然后我们要做的是标定也就是确定相对视图。顺便说一下,你们会在不同的作业中做这个,但是,我们会一次一个地分解这些。


编程中最没用的东西是源代码,最有用的东西是算法和数据结构。

15.立体几何——几何为一个简单的立体系统,左右测验,视差的深度_3相关推荐

  1. 一个简单的blog系统(四) 实现用户页面和文章页面

    一个简单的blog系统(四) 实现用户页面和文章页面 1.现在我们来给博客添加用户页面和文章页面. 1.1 所谓用户页面就是当单击某个用户名链接时,跳转到:域名/u/用户名,并且跳出该用户的所有文章. ...

  2. 一个简单的blog系统(九) 增加标签和标签页面

    一个简单的blog系统(九) 增加标签和标签页面 1.现在,我们来给博客添加标签和标签页面. 假定每篇文章最多只有两个标签,当单机主页左侧标签页链接的时候,跳转到标签页并且列出所有已经有的标签,当单击 ...

  3. 一个简单的blog系统(十一) 增加文章检索功能

    一个简单的blog系统(十一) 增加文章检索功能 1. 现在,我们就来给博客添加文章检索功能.假定,可以根据关键字魔木查询文章标题,也就是说支持正则表达式,而且字母不会区分大小写. 1.1 首先,我们 ...

  4. 一个简单的blog系统(十二) 增加友情链接页面

    一个简单的blog系统(十二) 增加友情链接页面 1.首先,我们打开header.ejs,在其中添加一行代码,并作出响应修改: <li><a href="/links&qu ...

  5. c语言编写一个简单的答题系统

    利用c语言编写一个简单的答题系统. 思路是先设计好题目和答案,再输入自己的答案,利用输入的答案与正确答案对比,从而得出你回答的对错. (一)捆绑题目和答案 我们可以利用结构体对一个题目捆绑上一个答案. ...

  6. 一个简单的监控系统的设计

    一个简单的监控系统的设计 # // // 为了实现上级需要一个监控的需求,设计一个小的监控系统,结构如下图. // 虽然是一个比较简单的功能,但是仍然对代码的结构的关系进行了设计,使其具备良好的可扩展 ...

  7. 在kaldi工具包使用小数字语料库创建一个简单的ASR系统(番外篇)

    相信很多人已经看过kaldi英文官网上关于该系统的搭建流程.虽然官方已经写的很通俗易懂,但是第一次接触的话还是不可避免的会碰到许多坑.恰巧最近实践了一下,把整个实践过程写了下来.一是方便自己后续回顾本 ...

  8. 实现一个简单的栅格系统

    实现一个简单的栅格系统 关于栅格系统 相信大家都用过 Bootstrap (神马!你没用过?这么流行你还不快去试试),栅格系统就是 Bootstrap 的核心,现在许多 UI 库中也增加了对栅格系统的 ...

  9. 用Java实现一个简单的考试系统

    用Java实现一个简单的考试系统 需求分析 设计思路 编码实现 需求分析 该考试系统可以实现的功能和系统要求应该包括: 学生:登录.考试.考试后查看成绩 老师:出题目(往题库中添加新题目).批阅卷子( ...

最新文章

  1. 面试必备:缓存穿透,缓存雪崩的四种解决方案
  2. 【送书】联邦学习在视觉领域的应用,揭秘2020年AAAI人工智能创新应用奖获奖案例!...
  3. python如何自动打印_利用Python每天自动打印练习题
  4. 线程八大核心+java并发核心知识体系精讲_Java从业者如果不懂这些,面试80%都会挂在这些核心知识上面...
  5. 4.Model Validation
  6. barbuttonitem 文字换行_ios开发 常用代码整理
  7. 基于错误的sql注入
  8. Java中的equals() 和 ==
  9. 六、物理数据模型(PDM逆向工程)
  10. 【语音识别】基于matlab MFCC+SVM特定人性别识别【含Matlab源码 533期】
  11. android中jni的调用过程,Android中JNI的调用生成头文件步骤
  12. 机器学习可解释性(二) 之 可解释模型
  13. 男人成为富翁必备五大特质
  14. string、Empty和null三者的区别(来源:网管之家bitsCN.com)
  15. 共享充电宝的优点有哪些
  16. 一周信创舆情观察(1.11~1.17)
  17. ArcGIS教程:对镶嵌数据集进行色彩平衡
  18. JSP志愿者在线报名系统
  19. 我和2035年有个约计算机论文,2018年湖南高考作文:我和2035有个约
  20. 微信小程序中weui的正确打开方式

热门文章

  1. 【云速建站】会员注册弹窗添加及设置
  2. 只用一个marker 替换 高德_关于高德地图添加Marker遇到的一些坑
  3. php mysql 到表最后_如何在PHP中获取MySQL表的最后插入ID?
  4. 学习笔记 - Linux学习笔记 第四讲 Linux常用命令
  5. mysql 结果集 超大_使用MySQL流式传输大型结果集
  6. keil5ARM编译器改字体大小和颜色的方法
  7. c++实验4—项目6输出星号图
  8. Python内置模块---random
  9. 访问linux端口失败_教你如何配置Linux服务器防火墙端口规则
  10. mongodb的文档游标