相机标定:理论与实践

news2024/11/26 12:25:51

先讨论相机模型,说明投影关系的描述,介绍相机的内外参,最后完成标定。

一、内参含义

把需要标定的相机参数叫做内参(intrinsics matrix),它决定了物体的实际位置Q在成像平面上的投影位置q,如下图所示:
在这里插入图片描述
数学表示为
在这里插入图片描述
内参M的组成元素包含焦距f(像素表示)和成像平面的中心c
对标定内参有一个较为直观的理解,因为具体的标定方法都已经是很成熟且易用的,因此理解基本理论显得更为重要。

二、外参的含义

我们知道内参是相机坐标系到像素坐标系的转换,外参就是两个三维坐标系间的刚体变换,从世界坐标系到相机坐标系

1、从世界坐标系到相机坐标系

简单说就是左乘一个旋转矩阵R ,然后再平移t 。用公式表示如下:
在这里插入图片描述
也就是:
在这里插入图片描述
其中, P0 为世界坐标系中的点, Pc
为相机坐标系中的点。这里面有个加法,如果需要转换多个坐标系就会层层嵌套,不够优雅,这里我们引入齐次坐标:
在这里插入图片描述
用齐次坐标就可以用一个矩阵乘法完成坐标变换,需要变换多个坐标系时也仅需要左乘多次即可。

此处的 (R,T) 即为外参。

2、从相机坐标系到像素坐标系

由上一步的变换,我们已经求得了相机坐标系的点,接下来我们就可以运用内参投影公式,将3D点投影到成像平面上了:
即:
在这里插入图片描述
其中,M为内参, Pc 为相机坐标系下一点。用齐次坐标形式表示出来:
在这里插入图片描述

最终的 (u,v) 即是 P0 的像素坐标。

三、内参的组成

标定的目的,直观来讲,就是找出三维空间中的物体在二维感光元件的投影位置的计算模型

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

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

相关文章

MySQL其他集群类型介绍

常用的/常见的Mysql集群方案 1.MySQL Replication2.MySQL Fabric3.MySQL NDB Cluster4.MGR(MySQL Group Replication)5.心跳检测SAN共享存储(heartbeat SAN)6.心跳检测DRBD磁盘复制(heartbeat DRBD)7.MMM…

IDEA 28 个天花板技巧 + 12 款神级插件,生产力起飞...

IDEA 作为Java开发工具的后起之秀,几乎以碾压之势把其他对手甩在了身后,主要原因还是归功于:好用;虽然有点重,但依旧瑕不掩瑜,内置了非常多的功能,大大提高了日常的开发效率,下面汇总…

鸿蒙原生应用开发-DevEco Studio远程模拟器的使用

使用单设备模拟器运行应用/服务 Remote Emulator支持Phone、Wearable、Tablet、TV等设备类型,但不同区域(开发者帐号注册地)支持的设备类型可能不同,请以实际可申请的设备类型为准。 Remote Emulator中的单设备模拟器&#xff08…

FL Studio21.2宿主软件中文免费版下载

纵观当下宿主软件市场,正值百家争鸣、百花齐放之际像Mac系统的Logic Pro X、传统宿主软件代表Cubase、录音师必备Pro Tools、后起之秀Studio One等,都在各自的领域具有极高的好评度。而在众多宿主软件中,有这么一款历久弥新且长盛不衰的独特宿…

Java类和对象(2)

🐵本文继续讲解类和对象相关知识 一、封装 封装就是将对象的属性和实现方法隐藏起来,外部无法获得具体的实现细节,只对外公开接口和对象进行交互,将对象的属性隐藏起来的办法就是用关键字private,被private修饰的成员…

安科瑞电力监控系统在浙中总部经济中心的设计与应用

安科瑞 崔丽洁 摘要:电力供应是整个社会生产、人民生活的基本保证之一,也是全世界普遍的能源形式,而且多数资源都被人类运用各种方式转换为电能而加以利用,经济的高速运行也使各领域的用电负荷急速上升,各种疏漏和故障…

刷题学习记录BUUCTF

[极客大挑战 2019]RCE ME1 进入环境直接就有代码 <?php error_reporting(0); if(isset($_GET[code])){$code$_GET[code];if(strlen($code)>40){die("This is too Long.");}if(preg_match("/[A-Za-z0-9]/",$code)){die("NO.");}eval($co…

社区街道治安智慧监管方案,AI算法赋能城市基层精细化治理

一、背景需求分析 随着城市建设进程的加快&#xff0c;城市的管理也面临越来越多的挑战。例如&#xff0c;在城市街道的管理场景中&#xff0c;机动车与非机动车违停现象频发、摊贩占道经营影响交通、街道垃圾堆积影响市容市貌等等&#xff0c;都成为社区和街道的管理难点。这…

中波发射机概述

一、简介 1.1 中波发射机简介 中波发射机是一种用于广播电台传输中波频率信号的设备。它们是广播电台系统的重要组成部分&#xff0c;用于发送声音、音乐和其他信息到广泛的地理区域。中波频率范围一般介于530kHz至1700kHz之间&#xff0c;具有较好的传播性能&#xff0c;可以…

Sentinel网关限流

背景 在微服务架构下&#xff0c;每个服务的性能都不同&#xff0c;为避免出现流量洪峰将服务冲垮&#xff0c;需要依赖限流工具来保护服务的稳定性。sentinel是阿里提供的限流工具&#xff0c;社区活跃&#xff0c;功能也很全面&#xff0c;包含实时监控、流控、熔断等功能。…

数据结构-链表的简单操作代码实现【Java版】

目录 0.链表前序工作 1.构建出一个链表 2.展示链表中的所有存储数据 3.查找关键字key是否在链表中 4.求链表的长度 5.头插法 6.尾插法 7.插入任意位置&#xff08;规定第一个元素位置为0下标&#xff09; 8.删除第一次出现的值为key的关键字 9.删除所有值为key的关键字…

阿里巴巴将开源720亿参数大模型;开源语言大模型演进史

&#x1f989; AI新闻 &#x1f680; 阿里巴巴将开源720亿参数大模型 摘要&#xff1a;在2023世界互联网大会乌镇峰会上&#xff0c;阿里巴巴集团CEO吴泳铭透露&#xff0c;阿里巴巴即将开源720亿参数大模型&#xff0c;这将是国内参数规模最大的开源大模型。目前&#xff0c…

【启扬方案】启扬安卓屏一体机在医疗自助服务终端上的应用解决方案

为了解决传统医疗模式下的“看病难、看病慢”等问题&#xff0c;提高医疗品质、效率与效益&#xff0c;自助服务业务的推广成为智慧医疗领域实现信息化建设、高效运作的重要环节。 医疗自助服务终端是智慧医疗应用场景中最常见的智能设备之一&#xff0c;它通过与医院信息化系统…

计算机网络篇 | 走进计算机网络

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 计算机网络 ✨特色专栏&#xff1a; M…

TensorFlow2.0教程3-CNN

` 文章目录 基础CNN网络读取数据卷积层池化层全连接层模型配置模型训练CNN变体网络简单的深度网络添加了其它功能层的深度卷积NIN网络文本卷积基础CNN网络 读取数据 import numpy as np import tensorflow as tf import tensorflow.keras as keras import tensorflow.keras.la…

11月7日 mybatis缓存

mybatis的缓存 缓存的条件&#xff1a;必须要有存在的数据 一级缓存: SqlSession级别缓存.存储的数据.只能在同一个SalSession有效.默认开启 二级缓存: SqlSessionFactory级别的缓存. SqlSessionFactory只有一个的,单例,全局共享的,不同的 SqlSession共享&#xff0c;默认没有…

宏集案例 | eX707G人机界面在石油钻井工程中的应用

来源&#xff1a;宏集科技 宏集案例 | eX707G人机界面在石油钻井工程中的应用 01 应用背景 石油钻井工程是石油开采过程中最为关键的一个环节&#xff0c;直接决定着石油开采的质量和经济效益&#xff0c;而钻井工程参数的实时监测、分析处理和存储是保证安全、可靠、高效钻…

利用百度地图api获取经纬度和uniapp定位计算距离

获取百度地图api&#xff0c;成为开发者&#xff0c;去控制台创建应用得到一个ak就可以了 百度地图开放平台网址&#xff1a;百度地图开放平台 | 百度地图API SDK | 地图开发 后端是node // 根据百度api地址获取经纬度 https://lbsyun.baidu.com/async getLocation(val) {try …

基于SSM的博客系统

基于SSM的博客系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringMyBatisSpringMVC工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 热点 博客详情 登录界面 管理员界面 博主界面 摘要 博客系统作为信息传播和分享的重…

Linux系统编程——文件的光标移动

光标移动(lseek) 主要用于不断对文件写入数据或读取数据的的用法&#xff0c;每次写入数据后光标在数据尾&#xff0c;若要进行读取则只会没法读取到光标前的数据&#xff0c;这个时候就不需要重启文件&#xff0c;只需对光标位置做出调整就可以读取数据 使用lseek函数需要包…