【机器视觉2】单目相机内外参数标定

news2024/11/29 10:36:59

单目相机内外参数标定

  • 1. 标定参照物概述
  • 2. 张正友平面模板标定法

1. 标定参照物概述

标定相机内外参数需要获取场景和图像间多个坐标对。场景坐标点直接从标定参照物获取,图像坐标点从图像中获取。
标定参照物有二维、三维等,如下图所示:
在这里插入图片描述
二维参照物标定法:定位简单,标定受环境约束较小,由于近年来非线性优化方法不断发展,二维标定参照物的移动不受约束的情况下,可以通过多幅图像标定出摄像机的全部参数,这种方法主要以张正友标定法为代表。
三维参照物标定法:适合高精度的标定,但其成本更高,测量与制作相对复杂得多。

2. 张正友平面模板标定法

考虑无图像畸变的情况。
张正友标定法是基于平面模板的摄像机标定方法,通过使用一个在三个以上位置的平面模板来完成摄像机标定。
二维标定参照物上所有特征点在世界坐标系下都位于一个平面上,且所有特征点的世界坐标与图像坐标关系表现为平面间一一对应。下图表示世界坐标系下的一个平面到图像平面的映射变换(单应性,Homography)关系,映射矩阵用 H H H表示,则 H = [ h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 h 33 ] H=\begin{bmatrix}h_{11}&h_{12}&h_{13}\\ h_{21}&h_{22}&h_{23}\\ h_{31}&h_{32}&h_{33}\end{bmatrix} H= h11h21h31h12h22h32h13h23h33
在这里插入图片描述
将世界坐标系原点选在标定参照物上, Z Z Z轴垂直参照物平面,则所有特征点世界坐标系下的 Z Z Z坐标均为0,有: z c [ u f v f 1 ] = [ h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 h 33 ] [ x w y w 1 ] = H [ x w y w 1 ] z_c\begin{bmatrix}u_f\\ v_f\\ 1\end{bmatrix}=\begin{bmatrix}h_{11}&h_{12}&h_{13}\\ h_{21}&h_{22}&h_{23}\\ h_{31}&h_{32}&h_{33}\end{bmatrix}\begin{bmatrix}x_w\\ y_w\\ 1\end{bmatrix}=H\begin{bmatrix}x_w\\ y_w\\ 1\end{bmatrix} zc ufvf1 = h11h21h31h12h22h32h13h23h33 xwyw1 =H xwyw1 r 1 = [ r 11 r 21 r 31 ] \boldsymbol{r_1}=\begin{bmatrix}r_{11}\\ r_{21}\\ r_{31}\end{bmatrix} r1= r11r21r31 r 2 = [ r 12 r 22 r 32 ] \boldsymbol{r_2}=\begin{bmatrix}r_{12}\\ r_{22}\\ r_{32}\end{bmatrix} r2= r12r22r32 ,则内、外参数关系为: H = A [ r 1 r 2 t ] = [ h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 h 33 ] H=A\begin{bmatrix}\boldsymbol{r}_1&\boldsymbol{r}_2&\boldsymbol{t}\end{bmatrix}=\begin{bmatrix}h_{11}&h_{12}&h_{13}\\ h_{21}&h_{22}&h_{23}\\ h_{31}&h_{32}&h_{33}\end{bmatrix} H=A[r1r2t]= h11h21h31h12h22h32h13h23h33 h 1 = [ h 11 h 21 h 31 ] \boldsymbol{h_1}=\begin{bmatrix}h_{11}\\ h_{21}\\ h_{31}\end{bmatrix} h1= h11h21h31 h 2 = [ h 12 h 22 h 32 ] \boldsymbol{h_2}=\begin{bmatrix}h_{12}\\ h_{22}\\ h_{32}\end{bmatrix} h2= h12h22h32 ,由 r 1 T r 2 = 0 \boldsymbol{r}_1^T\boldsymbol{r}_2=0 r1Tr2=0 ∥ r 1 ∥ 2 = ∥ r 2 ∥ 2 = 1 \left\|\boldsymbol{r}_1\right\|_2=\left\|\boldsymbol{r}_2\right\|_2=1 r12=r22=1,得: h 1 T A − T A − 1 h 2 = 0 h 1 T A − T A − 1 h 1 = h 2 T A − T A − 1 h 2 = 1 \begin{gathered} \boldsymbol{h}_1^T A^{-T}A^{-1}\boldsymbol{h}_2=0 \\ \boldsymbol{h}_1^T A^{-T}A^{-1}\boldsymbol{h}_1=\boldsymbol{h}_2^T A^{-T}A^{-1}\boldsymbol{h}_2=1 \end{gathered} h1TATA1h2=0h1TATA1h1=h2TATA1h2=1获取多张平面标定板图像上的多组角点,利用矩阵分解的方法解出内参 A A A,再由内参求解外参的 R R R p \boldsymbol{p} p

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

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

相关文章

【linux】冯诺依曼体系+操作系统

我们使用的计算机都是由一个个硬件所组成的,那么如何有条不紊的运行呢?那是因为有冯诺依曼体系约束着硬件,而操作系统来管理着他们,从而使得计算机的硬件和软件完美结合。 一、冯诺依曼体系 首先我们得了解什么是冯诺依曼体系结构…

万字长文 | ChatGPT的工作原理(一)

ChatGPT 能够自动生成一些读起来表面上甚至像人写的文字的东西,这非常了不起,而且出乎意料。但它是如何做到的?为什么它能发挥作用?我在这里的目的是大致介绍一下 ChatGPT 内部的情况,然后探讨一下为什么它能很好地生成…

Sharding-JDBC之绑定表(关联表)

目录 一、简介二、maven依赖三、数据库3.1、创建数据库3.2、创建表 四、配置(二选一)4.1、properties配置4.2、yml配置 五、实现5.1、实体层5.2、持久层5.3、服务层5.4、测试类5.4.1、保存订单数据5.4.2、查询订单详情数据(关联表&#xff09…

拓扑排序在处理树形关系结构中的应用

Preface 偶然在QQ上的一个交流群中看到了一位群友的棘手需求。互联网开发中,数据的落盘存储通常在MySQL中。MySQL是一种关系型数据库,以“行”为基本的存储单元,然后通过外键等建立数据实体模型之间的联系。 但有些数据的存储,在…

波奇学C++:友元函数,友元类,内部类,匿名对象,优化构造

友元函数/类 &#xff1a;突破访问限定符&#xff0c;允许非同一个类的函数或者类访私有成员变量。 class A { public:A():_a(0),_b(1){cout << "A()" << endl;} private:int _a 0;int _b 1; }; void fun(const A& a) {cout << a._a <&l…

canal学习-运行canal-adapter源码并记录解决报错问题(一)

运行canal-adapter 1. 下载canal源码1.1 下载源码并安装好环境1.2 查看目录结构 2.项目运行2.1 项目打包2.2 项目打包可能遇到的问题&#xff1a;1.Failure to find com.alibaba.otter:connector.tcp:jar:jar-with-dependencies:1.1.52.com.alibaba.druid.pool.DruidDataSource…

HTTP协议与TCP协议

HTTP协议 1. HTTP有哪些⽅法&#xff1f; HTTP 1.0 标准中&#xff0c;定义了3种请求⽅法&#xff1a;GET、POST、HEAD HTTP 1.1 标准中&#xff0c;新增了请求⽅法&#xff1a;PUT、PATCH、DELETE、OPTIONS、TRACE、CONNECT 2. 各个HTTP方法的具体作用是什么&#xff1f; 方…

量子计算:揭开未来计算世界的面纱

随着科技的飞速发展&#xff0c;计算能力的提升成为人们关注的焦点之一。而在这个领域中&#xff0c;量子计算正逐渐成为备受瞩目的新星。量子计算利用了量子力学的原理&#xff0c;与传统计算方式有着根本的不同。在传统计算中&#xff0c;信息以比特的形式表示&#xff0c;而…

COMSOL光电专题第三十三期(线上),COMSOL声学(北京线下)专题线上通知

背景&#xff1a; COMSOL多物理场仿真软件以高效的计算性能和杰出的多场耦合分析能力实现了精确的数值仿真&#xff0c;已被广泛应用于各个领域的科学研究以及工程计算&#xff0c;为工程界和科学界解决了复杂的多物理场建模问题。COMSOL内嵌的声学模块可以方便地进行多孔声学…

AI技术如何助力合同智能管理?

近年来&#xff0c;合同管理领域开始大规模应用AI技术&#xff0c;今天我们来关注下AI技术如何助力合同智能管理&#xff1f; 传统的合同管理系统&#xff0c;一般都是流程管理&#xff0c;随着AI技术的快速发展&#xff0c;AI技术已经成功应用到了合同全生命周期管理的各阶段…

计算机网络 三 (数据链路层)上

数据链路层 数据链路层的概述 基本概念 数据链路层是OSI参考模型中的第二层&#xff0c;它主要负责在物理层上提供可靠的数据传输服务&#xff0c;使得相邻节点间的数据传输能够实现。 数据链路层的基本概念如下&#xff1a; 帧&#xff1a;数据链路层数据传输的基本单位是…

Redis持久化:RDB和AOF(版本redis 7.0)

什么是持久化&#xff1f; 学过计算机基础的都知道以一种磁盘&#xff0c;只要关机&#xff0c;那么磁盘的内容都会被清空&#xff0c;这种磁盘称为内存&#xff0c;而Redis则是一种内存数据库&#xff0c;redis中的数据也都存储在磁盘中&#xff0c;如果服务器中进程被关掉&am…

麻了,真的不想做测试了...

前言 有不少技术友在测试群里讨论&#xff0c;近期的面试越来越难了&#xff0c;要背的八股文越来越多了,考察得越来越细&#xff0c;越来越底层&#xff0c;明摆着就是想让我们徒手造航母嘛&#xff01;实在是太为难我们这些测试工程师了。 这不&#xff0c;为了帮大家节约时…

Mathtype修改硕士论文公式格式

Mathtype修改硕士论文格式 1将word格式的公式变为mathtype格式1选中公式2点击mathtype中的转换公式 2修改mathtype格式的公式文字版式 1将word格式的公式变为mathtype格式 1选中公式 如果不选公式默认全文所有公式或者指定的公式。 2点击mathtype中的转换公式 选择要转换的…

汽车功能安全

前言 近些年来&#xff0c;功能安全在汽车传统底盘域和动力域的应用已较为成熟&#xff0c;各大汽车企业功能安全意识也逐渐增强。在辅助驾驶和自动驾驶爆发式增长的大趋势下&#xff0c;现代汽车的功能安全在目前尤为复杂的电子电气系统中就显得更为重要&#xff0c;功能安全…

MySQL---存储过程流程控制(判断(if、case)、循环(while、repeat、loop))

1. if判断 IF语句包含多个条件判断&#xff0c;根据结果为TRUE、FALSE执行语句&#xff0c;与编程语言中的if、else if、else 语法类似&#xff0c;其语法格式如下&#xff1a; -- 语法 if search_condition_1 then statement_list_1[elseif search_condition_2 then statem…

十八、Stream 流

目录 1、为什么要引入SpringCloud Stream 2、SpringCloud Stream简介 2.1、标准MQ架构图 2.2、SpringCloud Stream架构图 2.3、SpringCloud Stream处理流程 3、如何使用SpringCloud Stream 3.1、创建springcloud-stream-sender项目&#xff08;消息生产者&#xff09; …

SpringCloud_服务调用_Ribbon负载算法简介与如何替换(二)

SpringCloud_服务调用_Ribbon负载算法简介与如何替换(二) Ribbon核心组件IRule IRule:根据特定算法中从服务列表中选取一个要访问的服务 IRule接口有多种实现&#xff1a; Ribbon自带的7种负载规则 com.netflix.loadbalancer.RoundRobinRule 轮询 com.netflix.loadbalancer.Ra…

8年测试老鸟总结,软件测试工程师关键成长晋升要素,这些不能不知道...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、技术-依然是最…

MySQL深入浅出:自增长序列(@i:=@i+1)的用处及用法

目录 1&#xff1a;问题分析 2&#xff1a;模拟自增长序列 2.1 单表查询 2.2 多表关联查询 3&#xff1a;结束语 社区 1&#xff1a;问题分析 Oracle中的伪列 ROWNUM 是一组递增的序列&#xff0c;在查询数据时生成&#xff0c;为结果集中每一行标识一个行号, 每条记录…