【目标解算】相机内外参数详细解读+坐标系转换

一、相机参数介绍

1.1 相机内参矩阵

概念:内参矩阵用于描述相机的内部参数,它包含了相机的焦距、主点坐标和图像的畸变等信息。内参矩阵的形式通常为一个3x3的矩阵,常用表示为K。内参矩阵可以将相机坐标系中的三维点映射到图像平面上的二维像素坐标。通过内参矩阵,我们可以进行相机标定、图像校正和三维点云到图像的投影等操作。
标定后的相机内参矩阵为3x3矩阵:在这里插入图片描述
在这里插入图片描述

相机标定参照:【鱼眼+普通相机】相机标定。

1.2 相机畸变矩阵

普通工业相机畸变矩阵为1x5矩阵:在这里插入图片描述
在这里插入图片描述

1.3 相机外参矩阵

外参矩阵用于描述相机的外部参数,它包含了相机的位置和朝向信息。外参矩阵定义了世界坐标系到相机坐标系的转换关系。外参矩阵的形式通常为一个4x4的矩阵,常用表示为[ R | t ],其中 R 表示旋转矩阵,t 表示平移向量。通过外参矩阵,我们可以将世界坐标系中的三维点转换到相机坐标系,或者将相机坐标系中的三维点转换到世界坐标系。
在这里插入图片描述
旋转矩阵性质:

  • 旋转矩阵是正交矩阵,即它的逆矩阵等于其转置矩阵。
  • 旋转不会改变物体的形状或大小,只会改变其方向。
  • 在实际应用中,旋转矩阵通常与平移向量一起使用,以描述物体在空间中的完整运动。

二 、坐标系介绍

2.1 相机坐标系{camera}:

坐标原点为相机的光心位置,X 轴和Y 轴分别平行于图像坐标系的X轴和 Y 轴,Z 轴为相机的光轴。相机坐标系中的点,用在这里插入图片描述表示。

2.2 图像物理坐标系:

坐标原点为CCD 图像平面的中心,X轴和Y 轴分别平行于图像平面的两条垂直边。图像物理坐标系中的点,用在这里插入图片描述表示。图像物理坐标系是用物理单位(例如毫米)表示像素在图像中的位置。

2.3 图像像素坐标系{image}:

坐标原点为图像平面的左上角顶点,X 轴和Y 轴分别平行于图像物理坐标系的 X 轴和Y 轴。图像像素坐标系中的点,用在这里插入图片描述表示。像素坐标系就是以像素为单位的图像坐标系。

2.4 世界坐标系(world coordinate):

也称为测量坐标系,是一个三维直角坐标系,以其为基准可以描述相机和待测物体的空间位置。世界坐标系的位置可以根据实际情况自由确定。
坐标原点为目标中心点位置,X轴水平向右,Y轴指向地面,Z轴与光轴方向平行。坐标系中的点,用 在这里插入图片描述表示。

2.5 Ground坐标系 :

在世界坐标系中, Yw = 0 的平面。

三、坐标系转换公式

3.1 相机坐标系 -> 图像像素坐标系:

在这里插入图片描述
式中,

  • u和v是图像坐标系中点的x轴和y轴像素坐标,其原点是图像的左上角顶点,x轴朝右、y轴朝下是正方向。
  • Zc是在相机坐标系下的Z轴坐标,也即深度。
  • fx和fy分别是x轴和y轴像素焦距 (单位为pixel)。
  • Cx和Cy是图像的中心点o1(相机坐标系的光心在图像上成像的点)的像素坐标(以图像左上角顶点作为原点)。

3.2 世界坐标系 -> 相机坐标系:

在这里插入图片描述
式中,

  • 将点[Xw Yw Zw]从世界坐标系通过刚体变换(旋转和平移)变换到相机坐标系,这个变换过程使用的是相机间的相对位姿,也就是相机的外参数。
  • 旋转矩阵为R,平移向量为t。

3.3 世界坐标系 -> 图像像素坐标系

即前两个转换公式合并。
在这里插入图片描述

3.4 相机坐标系 -> 图像物理坐标系:

在这里插入图片描述
即: 在这里插入图片描述

3.5 图像物理坐标系 -> 图像像素坐标系

在这里插入图片描述
式中,

  • u和v是图像坐标系中点的x轴和y轴像素坐标,其原点是图像的左上角顶点,x轴朝右、y轴朝下是正方向。
  • cx和cy是图像的中心点o1(相机坐标系的光心在图像上成像的点)的像素坐标(以图像左上角顶点作为原点)。

以上公式已经验证,如有错误还请批评指正。

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

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

相关文章

linux安装mysql后,配置mysql,并连接navicat软件

Xshell连接登陆服务器 输入全局命令 mysql -u root -p 回车后,输入密码,不显示输入的密码 注意mysql服务状态,是否运行等 修改配置文件my.cnf,这里没找到就找my.ini,指定有一个是对的 find / -name my.cnf 接下…

GPT-4你了解多少呢

一、引言 在人工智能(AI)领域,自然语言处理(NLP)技术一直备受关注。近年来,随着深度学习技术的飞速发展,NLP领域也取得了显著进步。GPT-4,作为OpenAI公司最新发布的自然语言处理模型…

京东二面:为什么Netty要造FastThreadLocal?

FastThreadLocal 从字面意义上来看,它是“Fast”“ThreadLocal”的结合体,寓意为快速的 ThreadLocal。那么,问题来了,Netty 为什么要再造一个 FastThreadLocal?FastThreadLocal 运行快的原因是啥?除了快之外…

linnux上安装php zip(ZipArchive)、libzip扩展

安装顺序: 安装zip(ZipArchive),需要先安装libzip扩展 安装libzip,需要先安装cmake 按照cmake、libzip、zip的先后顺序安装 下面的命令都是Linux命令 1、安装cmake 确认是否已安装 cmake --version cmake官网 未安装…

【Paddle】稀疏计算的使用指南 稀疏ResNet的学习心得 (2) + Paddle3D应用实例稀疏 ResNet代码解读 (1.6w字超详细)

【Paddle】稀疏计算的使用指南 & 稀疏ResNet的学习心得 Paddle3D应用实例稀疏 ResNet代码解读 写在最前面一、稀疏格式简介1. COO(Coordinate Format)2. CSR(Compressed Sparse Row Format) 二、Paddle稀疏张量支持1. 创建 C…

SQL刷题笔记day6——转战LeetCode

1 第二高的薪水 ​ 我的代码: SELECT Salary SecondHighestSalary FROM Employee ORDER BY Salary DESC LIMIT 1, 1 我的代码不满足示例2的情况:如果没有第 2 高的薪资,即表里可能只有一条记录,这个解答会被评测为 Wrong Answ…

整理了六个正规靠谱的兼职赚钱软件,适合普通人做的兼职副业~

​随着互联网时代的到来,越来越多的人选择通过互联网赚钱。在这篇文章中,我们将探讨一些可以在网上长期赚钱的方法。 在网络上面其实有很多的赚钱方法,尽管方法很多,但是对于一些网络新手,刚进入互联网圈子不久的伙伴…

智慧校园建设的重要性有哪些

在21世纪的数字化浪潮中,教育领域正经历一场深刻的变革。智慧校园,这一概念如同一股清风,席卷全球的高等教育机构,以其创新的科技应用和教育理念,重塑着学习的未来。面对信息时代的挑战,传统校园模式是否还…

html+CSS部分基础运用9

项目1 参会注册表 1.设计参会注册表页面,效果如图9-1所示。 图9-1 参会注册表页面 项目2 设计《大学生暑期社会实践调查问卷》 1.设计“大学生暑期社会实践调查问卷”页面,如图9-2所示。 图9-2 大学生暑期社会调查表页面 2.调查表前导语的…

Win11有些exe双击后无反应的解决办法

现象 双击某些exe文件之后,小圆圈转了两下之后就消失,然后没任何反应。用回车反复启动也是一样的现象。 由于截图没法截图到鼠标,所以没法放出截图。 我电脑出现上述现象的软件有: 1.纸飞机调试助手 2.SOC Programming Tool 对…

3.4 移动机器人工作空间(摘自自主移动机器人导论2)

对于一个机器人来说,机动性等效于它的控制自由度。但是,机器人是处于某种环境的,因而下一个问题是把我们的分析放到环境之中。 我们关心机器人用它可控制的自由度在环境中定位它本身的方法。例如,考虑 Ackerman 车辆或汽车&#…

Docker容器快速入门(1)

目录 1.Docker 简介 2.跟普通虚拟机的对比 2.打包、分发、部署 Docker主要理念:一次封装(打包)随处运行(部署) 4.Docker 部署的优势 5.Docker 通常用来做什么 6.重要概念:镜像、容器、仓库 Docker 官方…

使用ssh连接ubuntu

一、下载连接工具 常见的连接工具右fianlshell、xshell等等。在本文章中使用的finalshell,工具可以去官网上下载,官网下载。 二、Ubuntu中配置shh 1、使用下面指令更新软件包(常用于下载安装或更新软件时使用,更新到最新的安装…

红苹果的圆度、直径大小标定

function fruitImageProcessingGUI% 创建主窗口和控件mainFigure figure(Units, normalized, Position, [0.3, 0.3, 0.4, 0.4]);instructionText uicontrol(Style, text, String, 请点击按钮执行相应的图像处理步骤, ...Units, normalized, Position, [0.1, 0.7, 0.8, 0.2], …

母亲的爱与妻子的爱,同为“爱“。不同感受!

母亲的爱与妻子的爱,虽然都是一个女人给予男人的爱,却有着本质的不同! 天下父母对儿女的爱大多相同。在母亲眼中,儿女无论是多大年龄,无论你是否长大成人,也无论你做多大的官,有多么大的成就&am…

HBuilderX新增uni-app项目并发布到微信小程序

目录 1、下载软件并安装 2、创建项目并配置小程序id 3、微信开发者工具运行项目并配置 4、开发一个登录页面并发布 5、上传代码并小程序打开 6、手机扫码查看小程序 7、体验完后还要发版要去小程序申请备案认证 1、下载软件并安装 下载HBuilderX 下载微信开发者工具 …

【Java SE】超详细讲解String类

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. 初步认识String2. String类的常用方法2.1 字符串构造2.2 String对象比较2.2.1 比较是否引用同一个对象2.2…

【Pandas】深入解析`pd.read_json()`函数

【Pandas】深入解析pd.read_json()函数 🌈 欢迎莅临我的个人主页👈这里是我深耕Python编程、机器学习和自然语言处理(NLP)领域,并乐于分享知识与经验的小天地!🎇 🎓 博主简介&#x…

unity开发Hololens,使用unity自带的UGUI

hololens 使用UGUI 新建画布,添加组件, 画布模式改成WorldSpace,这样在能在3D场景里 随意的移动位置, 添加NearIteractionTouchaBleUnityUI、CanvasUtility组件 EaventsToReceive改成Pointer, 这样,UGUI的…

TC3xx分析--如何提高系统运行效率(2)

目录 1.概述 2.限定符对于代码的影响 3.小结 1.概述 上文TC3xx分析--如何提高系统运行效率(1)-CSDN博客讲解了Tasking中lsl的某些关键定义,简述了Tricore寻址模式,接下来我们继续看,不同memory限定符对于代码的影响。 2.限定符对于代码的…