【三维重建补充知识-0】视差、深度概念及其转换

news/2024/5/19 20:07:34/文章来源:https://blog.csdn.net/qq_41794040/article/details/128082745

一、基本概念

把手指放在眼前,分别闭上左、右眼,我们会发现手指与后边物体的相对位置是不同的,也即两眼所识别的两幅图像之间存在视觉差异,我们通过“视差”这一概念来表示这种差别

该过程也可以通过两个处于同一平面的相机来模拟:
在这里插入图片描述

如下图所示,在同一水平面上存在位置偏移的两个相机,它们对同一物体拍照成像后在图片上的像素点坐标位置并不相同

在这里插入图片描述

对于同一特征点P,在相机Ol和Or下成像点分别为p和p’,两条向上的箭头线代表了相机的摄影主轴方向(平行),两条红线代表了成像平面(沿x方向的长度相等),以相片的左边界为x方向的零起始边,p点和p‘点在对应相平面下的x坐标分别为xl和xr,定义视差(disparity)为xl-xr

二、视差与深度的转换

通过视差,利用相似三角形我们可以计算出点P距离相机的深度信息

记OlOr距离为B,pp‘距离为b,深度为z,焦距为f,视差xl-xr为s,则有
bB=z−fz\frac{b}{B}=\frac{z-f}{z}Bb=zzf
B−sB=z−fz\frac{B-s}{B}=\frac{z-f}{z}BBs=zzf
z=fBsz=f\frac{B}{s}z=fsB
由此通过视差便可以求出物体与相机沿光轴方向上的距离,也即深度信息。

b=B-s推导:
b为pp‘距离,即B减去左右两个红色小三角形的底边,左边的底边为xr - L/2,右边的底边为L/2 - xl,因此b=B - (xr - L/2) - (L/2 - xl) = B - xr + xl,也即b = B-s

三、视差与深度关系

同时根据公式我们可以看出当物体距离越远,视差越小,物体越近,视差越大
在这里插入图片描述
这是符合我们日常生活经验的,对于手指的例子,放的离眼睛越近,两次背后物体与手指的位置偏差越大,当放到足够远时,与手指靠很近的物体则基本看不出位置的偏移。

对于人眼双目系统而言,正是因为两眼之间存在水平的位置偏移产生了视差,人脑在接受到两张图片之后才可以恢复出深度信息,也即我们能够感受到3D场景下看到的物体离我们有多远

3D电影就是利用了视差,使用两个投影仪投影出两幅具有视差的图像(所以不戴3D眼镜直接看会感觉画面是重叠模糊的),在3D眼镜作用下左、右眼分别只看到对应的一张图像,这就模拟了人眼的双目视觉体系,从而在大脑中产生具有深度感的立体3D场景

四、视差图与深度图

视差图上每个像素点存储了该点在两幅图像下的视差值(为了反映不同视角下图片的差异),而深度图则记录了各点对应真实物体与相机光心沿光轴方向上的距离(为了存储真实三维场景信息)。

以下分别为不同视角的源图像、处理后的视差图和处理后的深度图:
原始图像
视差图
深度图

上边的步骤并不复杂,要想从两张图片中获取视差图,只需对两幅图像上的特征点进行提取,随后在另一张图像上进行特征匹配来寻找对应点,随后即可计算出对应点的视差,获取视差图后可进一步转换为深度图,而有了深度图之后则可以进行三维重建来恢复真实的3D场景(点云等表示方法),因此:

  • 视差图可以看作立体匹配(提取特征、特征匹配)的输出承载体
  • 深度图是立体匹配与点云生成之间的中间桥梁

参考:
https://www.fpga-china.com/4559.html
https://zhuanlan.zhihu.com/p/522285892
https://www.cnblogs.com/riddick/p/8486223.html

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

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

相关文章

C++ 之 移动构造函数

1、左值和右值 C( 包括 C) 中所有的表达式和变量要么是左值,要么是右值。 通俗的左值的定义就是非临时对象,那些可以在多条语句中使用的对象,表达式结束后依然存在的持久化对象,所有的具名变量或者对象都是左值。右值是指临时的…

设置渐变边框色

如上图所示,需设置渐变边框色,左右边框颜色固定,上边框从左到右开始渐变,下边框从右到左开始渐变。 思考了很久,如果看作是一个div,则需要用到 border-image属性设置渐变色。也可以看作是两个div&#xff0…

CISAW信息安全保障人员认证考试难吗?

CISAW信息安全保障人员认证,作为信息安全行业相当热门的证书之一,其持证人数已超50%,在信息安全行业内占有一席之地,很多报考人都比较关心CISAW考试难不难?能通过吗?那接下来说一说CISAW证书考不好考&#…

常见的网络协议

目录 一、TCP/IP协议簇 二、网络设备与五层模型对应关系: 三、常用网络协议总结(TCP/IP协议簇) 四、应用层服务协议 五、传输层协议组 TCP_UDP 六、网络层协议 IP_ICMP_ARP 七、物理层协议 MAC子层协议 一、TCP/IP协议簇 OSI七层模型…

IBM MQ 故障诊断(一)

说明:本文主要是针对运维人员的手册。前面部分主要是应用三板斧的方式,后面的步骤可能会发散和具体深入一些。不过也不是严格的划分,读者就当看一遍杂文的方式来看待此文吧。 一,队列管理器的启停 QMGR的启停是故障诊断中遇到最…

[附源码]SSM计算机毕业设计线上图书销售管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

用huggingface.transformers在文本分类任务(单任务和多任务场景下)上微调预训练模型

诸神缄默不语-个人CSDN博文目录 transformers官方文档:https://huggingface.co/docs/transformers/index AutoModel文档:https://huggingface.co/docs/transformers/v4.23.1/en/model_doc/auto#transformers.AutoModel AutoTokenizer文档:ht…

Java#数据结构----2

目录 一.数据结构(树) 二.二叉树(任意节点的度<2) 二叉查找树又称为二叉排序树/二叉搜索树 平衡二叉树 平衡二叉树的旋转机制 三.红黑树 一.数据结构(树) 基本概念: 度: 每一个节点的子节点数量 树高: 树的总层数 根节点: 最顶层的节点 左子节点: 左下方的节点 右子节…

优维低代码:Redirect 路由重定向If 条件渲染

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 连载…

2022年超实用的推特营销策略

Twitter推广需知的13条基础知识&#xff1a; 1、Twitter日活用户达1亿 2、Twitter月活用户3.25亿 3、Twitter广告价格比其他渠道便宜33% 4、每天产生5亿条推文 5、Twitter推广能够提高29%的线下交易 6、37%的Twitter用户在18到29岁之间 7、86%的带链接推文会比普通推文效…

Cerebral Cortex:调节γ振荡可以促进大脑连接性而改善认知障碍

摘要 老年痴呆症造成了巨大的全球经济负担&#xff0c;但目前还缺乏有效的治疗方法。最近的研究表明&#xff0c;脑电活动的伽马波段波&#xff0c;特别是40赫兹振荡&#xff0c;与高阶认知功能密切相关&#xff0c;可以激活小胶质细胞清除淀粉样蛋白&#xff0d;β沉积。本研究…

Flowable 中的网关、流程变量以及历史流程

今天这篇文章&#xff0c;松哥和大家梳理一下 Flowable 中的网关、流程变量以及历史流程的玩法。 1. 三大网关 Flowable 中网关类型其实也不少&#xff0c;常见的主要有三种类型&#xff0c;分别是&#xff1a; 排他网关并行网关包容网关 这三个里边最常用的当然就是排他网关…

Cesium中的DataSource和Entity关系

本章主要探讨一下Cesium中的DataSource和Entity。 介绍 首先简单说一下Entity与Primitive。 Cesium为开发者提供了丰富的图形绘制和空间数据管理的API&#xff0c;可以分为两类&#xff0c;一类是面向图形开发人员的低层次API&#xff0c;通常被称为Primitive API&#xff0…

连续时间系统的时域分析

一.微分方程的求解 1.求微分方程的齐次解 &#xff08;1&#xff09;写出特征方程并求解 2.写出齐次解 2.求微分方程的特解 已知 &#xff08;1&#xff09;根据表2-2&#xff0c;写出特解函数 ​​​​​​​ &#xff08;2&#xff09;带入并求解 3.完全解 二.微分方…

小杨哥陷入打假风波,会变成下一个辛巴吗?

最近&#xff0c;网红疯狂小杨哥频繁登上热搜。最初的起因是他花了1亿元在合肥一家高科技公司购买了5万多平方米的房产&#xff0c;作为他名下公司的全球总部&#xff0c;由此带来了争议。 据了解&#xff0c;该物业总建筑面积为53874.33平方米&#xff0c;包括1个生产综合体、…

使用扩展有效对齐 SwiftUI 内容,创建自定义 SwiftUI 方法以快速对齐项目并使您的代码看起来简洁明了(教程含源码)

在开发 iOS 应用程序时,对齐内容可能是一个耗时的过程。如果应用程序有多个屏幕,则需要在不同的地方完成这件事,并可能导致看起来杂乱无章的视图。 作为一个始终致力于让我的代码看起来简单和流线型的人,实现目标所需的大量Spacer()元素常常让我恼火,这就是为什么当我发…

APS软件的技术指标与特色

企业可能经常会因为无法掌握生产制造现场的实际产能状况及物料进货状况&#xff0c;导致物料及产能规划与现场详细作业排程难度增大&#xff0c;从而采取有单就接的接单政策与粗估产能的生产排程方式。这种方式就可能导致企业的生产状况频发&#xff1a;在提高对顾客的服务水平…

【树莓派不吃灰】Linux篇⑨ 学习 磁碟配额(Quota)与进阶文件系统管理(核心概念)

目录1. 磁碟配额 (Quota) 的应用与实作2.软件磁盘阵列 (Software RAID)3. 逻辑卷轴管理员 (Logical Volume Manager)4. 重点回顾❤️ 博客主页 单片机菜鸟哥&#xff0c;一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2022-11-28 ❤️❤️ 本篇更新记录 2022-11-28 ❤️&…

如何采集需要验证码登录的网站数据

如何抓取网页上的数据,需要登录&#xff1f;随着互联网的发展&#xff0c;移动支付技术的普及&#xff0c;以及人们对内容进行消费的观念逐渐养成。有很多网站&#xff0c;需要付费后才能查看&#xff0c;或者是开通会员之类的才能查看。针对这类网站&#xff0c;我们如何快速的…

Scrapy基本概念——Scrapy shell

Scrapy shell是一个交互式shell&#xff0c;可以在不运行Spider的情况下&#xff0c;测试和调试自己的数据提取代码。事实上&#xff0c;Scrapy shell可以测试任何类型的代码&#xff0c;因为它本就是一个常规的Python shell。 一、Scrapy shell的使用 1、启动Scrapy shell …