首页 > 其他分享 >三角测量原理推导

三角测量原理推导

时间:2024-07-21 19:51:34浏览次数:11  
标签:wedge frac 推导 相机 tag 原理 三角测量

三角测量原理推导

接着对极几何求解本质矩阵E后,通过E分解出四组R和t,通过三角测量原理求出深度,只有在两个相机下面深度均为正时,才是E分解出的正确R和t。下面是推导过程。

设\(p_1\)为世界坐标P点在相机1下面看到的像素坐标,\(p_2\)为相机2下面的像素坐标,以相机1的光心为世界坐标,K为相机标定参数矩阵,\(s_1\)和\(s_2\)分别为相机1坐标系和相机2坐标系下的z坐标。(其中,R为\(R_{21}\),t为\(t_{21}\))

\[\begin{align} s_1p_1=&KP \tag{} \\ s_2p_2=&K(RP+t) \tag{}\\ K^{-1}p_1 =& \frac{1}{s_1}P = 令x_1 \tag{}\\ K^{-1}p_2=&\frac{1}{s_2}(RP+t)=令x_2 \tag{}\\ \frac{1}{s_2}(Rs_1x_1+t)=&x_2 \tag{}\\ s_1Rx_1+t=&s_2x_2,两边同时叉乘x_2 \tag{1} \\ x_2^{\wedge}(s_1Rx_1+t)=&s_2x_2^{\wedge}x_2=0 \tag{}\\ s_1x_2^{\wedge}Rx_1+x_2^{\wedge}t=&0 \tag{} \end{align} \]

先求出\(s_1\),带入(1)公式里面,再求\(s_2\),\(s_1和s_2\)就是P点在相机1和相机2坐标系下面的深度。

标签:wedge,frac,推导,相机,tag,原理,三角测量
From: https://www.cnblogs.com/LadissonLai/p/18314892

相关文章

  • Stochastic Gradient Descent (SGD) 原理与代码实战案例讲解
    StochasticGradientDescent(SGD)原理与代码实战案例讲解关键词:SGD(随机梯度下降)最小化损失迭代优化机器学习深度学习1.背景介绍1.1问题的由来在机器学习和深度学习领域,优化算法用于最小化模型预测与实际结果之间的误差,也就是损失函数。最小化损失是许多算法......
  • Stable Diffusion原理与代码实例讲解
    StableDiffusion原理与代码实例讲解1.背景介绍1.1问题的由来在深入探讨StableDiffusion之前,让我们先了解其应用背景。StableDiffusion主要出现在扩散模型领域,特别是在生成对抗网络(GAN)、变分自编码器(VAE)以及自回归模型中。这些模型通常用于生成高质量的样本,例如图像......
  • 深入探究 Golang 反射:功能与原理及应用
    Hi亲爱的朋友们,我是k哥。今天,咱们来一同探讨下Golang反射。Go出于通用性的考量,提供了反射这一功能。借助反射功能,我们可以实现通用性更强的函数,传入任意的参数,在函数内通过反射动态调用参数对象的方法并访问它的属性。举例来说,下面的bridge接口为了支持灵活调用任意函数,在......
  • 【STM32】GPIO内部电路原理
    前言笔者近日在B站刷到了一个视频,使我对GPIO的I/O口内部基本结构以及工作原理有了恍然大明白的理解,现在对此做一个总结,并为大家推荐该视频Keysking【STM32】GPIO内部电路原理前言GPIO内部结构概览GPIO内部结构详解保护电路输出电路推挽输出开漏输出输入电路总结参考......
  • 通信原理之编码
    1.通信系统简介信源通过震动发出模拟信号,经过模数转化传输--数字信号可以识别、增强、再生,比模拟信号抗干扰能力更强、传输距离更长等优势。声音是一种波,我们可以使用两种方式进行传播:1.以信号的原始频率(基带信号)2.将声音和高频的信号结合(载波),改变载波以便于更好的传输数据......
  • ElasticSearch - 原理入门
    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。Ela......
  • C++自学笔记1(c++原理)
    Why学习C++?因为C++直接控制硬件。C++的工作原理是:C++代码,代码交给编译器来编译,编译器将代码转换成目标平台的机器码。(机器码:你操作的设备上CPU实际执行的二进制命令)所以我们使用C++可以控制CPU上每条进程的指令。C++可以运用在哪些平台上?几乎任何平台,只要你找到对应的编译器......
  • Linux工作原理5内核如何启动
    5内核如何启动现在你已经知道了Linux系统的物理和逻辑结构、什么是内核以及如何使用进程。本章将向你介绍内核是如何启动的。换句话说,你将学习内核如何移动到内存中,以及在第一个用户进程启动之前内核所做的工作。启动过程的简化视图如下:机器的BIOS或引导固件加载并运行引导......
  • UART协议详解:异步串行通信的原理与应用
    UART(UniversalAsynchronousReceiver/Transmitter)协议是一种用于异步串行通信的标准,允许数据在两个设备之间通过串行总线进行双向传输。UART的设计目的是将并行数据转换为串行格式,以便通过一对导线(或无线链路)进行传输,然后再在接收端将串行数据转换回并行格式。UART的关键......
  • Java线程池ForkJoinPool原理分析
    目录1.由一道算法题引发的思考2.基于归并排序算法实现2.1什么是归并排序2.2归并排序动图演示2.3使用归并排序实现上面的算法题单线程实现归并排序Fork/Join并行归并排序2.4并行实现归并排序的优化和注意事项3.Fork/Join框架介绍3.1什么是Fork/Join3.2应用......