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

news2024/11/17 2:50:50

一、相机参数介绍

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.coloradmin.cn/o/1713751.html

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

相关文章

怎么更改图片格式?图片在线转格式的使用方法

现在很多的平台在上传图片的时候,都会有规定要求的大小、格式、尺寸,只有符合要求的图片才可以正常上传。在网上传图时想要快速的修改图片格式,比较简单的一个方法就是在使用在线图片格式转换的工具就能够快速处理,下面将图片转格…

HackTheBox-Machines--Lazy

Lazy测试过程 1 信息收集 1.端口扫描 发现 SSH(22)、HTTP(80)端口 nmap -sC -sV 10.129.159.512.访问 80 端口 1.页面中存在注册功能,测试注册功能 页面返回登录页面及用户名 使用burpsuite观察注册请求 /register.p…

Vue使用axios实现调用后端接口

准备后端接口 首先,我已经写好一个后端接口用来返回我的用户数据,并用Postman测试成功如下: 以我的接口为例,接口地址为:http://localhost:8080/user/selectAll 返回Json为: {"code": "2…

通过AWR结合SQLHC对性能变低的SQL进行分析的过程

ESTDB数据库2020/4/29下午16点附近出现业务卡顿现象。 可以发现问题SQL为(SQL_ID fr0nhywcycrsa)。占问题时段数据库资源消耗的52.69%,通过对此SQL语句的执行效率进行分析,我们发现: 对SQL_ID fr0nhywcycrsa?进行分析,可以发现此…

精通推荐算法8:Embedding表征学习 -- 总体架构

1 Embedding表征学习的总体架构 目前,推荐算法精排模型大多基于Embedding MLP范式,模型底层是Embedding层,作用是将高维稀疏的输入特征转换为低维稠密的特征向量,并实现一定的模糊查找能力。模型上层是MLP层,作用是对…

鸿蒙应用模型:【Ability Kit】简介

Ability Kit简介 Ability Kit(程序框架服务)提供了应用程序开发和运行的应用模型,是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模…

了解可燃气体报警器的检测原理与注意事项

在工业、商业以及家庭生活中,可燃气体报警器作为安全监测的重要设备,发挥着不可忽视的作用。 那么,可燃气体报警器主要检测哪些气体呢? 接下来,佰德将从可燃气体种类、报警器工作原理、检测范围与精度、应用场景与重…

Linux_应用篇(11) 线程

上一章,学习了进程相关的知识内容, 对进程有了一个比较全面的认识和理解; 本章开始, 将学习 Linux应用编程中非常重要的编程技巧---线程(Thread) ;与进程类似,线程是允许应用程序并发…

计算机电子书籍资源转载分享

这篇会很简略,一个博主的宝藏,被我发现了,而且是去年2023年更新的,里面计算机网络的第八版书籍都有(谢希仁编著) 这是该博主的github上面发布的:zhangyachen/ComputerArchitectureAndCppBooks:…

轻松解决msvcp140_ATOMIC_WAIT.dll丢失问题的5种方法

在电脑使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp140_ATOMIC_WAIT.dll丢失”。这个错误提示通常出现在运行某些程序或游戏时,给使用者带来了很大的困扰。那么,如何解决这个问题呢?小编将为大家介绍5种…

GDPU 操作系统 天码行空13

文章目录 ❌ TODO:本文仅供参考,极有可能有误1.生产者消费者问题(信号量)💖 ProducerConsumerExample.java🏆 运行结果 💖 ProducerConsumerSelectiveExample.java🏆 运行结果 2.实现…

亮相CCIG2024,合合信息文档解析技术破解大模型语料“饥荒”难题

近日,2024中国图象图形大会在古都西安盛大开幕。本届大会由中国图象图形学学会主办,空军军医大学、西安交通大学、西北工业大学承办,通过二十多场论坛、百余项成果,集中展示了生成式人工智能、大模型、机器学习、类脑计算等多个图…

jupyter notebook更改位置

1.找到jupyer的配置文件 一般在c盘用户的.jupter文件夹下 2. 用记事本打开这个配置文件,定位到c.NotebookApp.notebook_dir /path_to_your_directory 替换你的位置 3.找到jupyer图标的位置,打开属性 添加要存放的位置在目标文件的末尾,重新…

Hadoop伪分布式安装教程

Hadoop伪分布式安装教程 一、安装背景1.1 软件列表1.2 系统软件列表 二、安装Hadoop2.1 安装 Java 环境2.1.1 前期准备2.1.2 文件传输2.1.3 解压文件2.1.4 配置 jdk 的环境变量2.1.5 输入 java、javac、java -version 命令检验 jdk 是否安装成功 2.2 Hadoop 下载地址[hadoop](h…

Unix、Linux 软件包管理快速入门对照

Linux(RHEL、Ubuntu)或者 Unix(macOS、FreeBSD)可以参看下表快速入门: 命令功能/系统Darwin (macOS)FreeBSDDebian/UbuntuRHEL(dnf yum)搜索和查找软件包brew searchpkg searchapt listyum list查看软件包…

Compose第一弹 可组合函数+Text

目标: 1.Compose是什么?有什么特征? 2.Compose的文本控件 一、Compose是什么? Jetpack Compose 是用于构建原生 Android 界面的新工具包。 Compose特征: 1)声明式UI:使用声明性的函数构建一…

基础9 探索图形化编程的奥秘:从物联网到工业自动化

办公室内,明媚的阳光透过窗户洒落,为每张办公桌披上了一层金色的光辉。同事们各自忙碌着,键盘敲击声、文件翻页声和低声讨论交织在一起,营造出一种忙碌而有序的氛围。空气中氤氲着淡淡的咖啡香气和纸张的清新味道,令人…

达梦 结果拼接=多行结果返回一列字符串.

sql 转换 查询出多行数据 (select t.PROPERTY from JD_CODING t left join DELIVERY_OF c on t.VALUE c.TYPE where t.PROPERTY stackingType group by t.PROPERTY) 更改后 转为一列的拼接字符串 ( select listagg( distinct t.PROPERTY,,) within group ( order by t.P…

RET-CLIP:眼科疾病诊断大模型

RET-CLIP:眼科疾病诊断大模型 RET-CLIP模型的工作流程和架构图表组成部分工作流程 精细拆解应用RET-CLIP模型进行糖尿病视网膜病变分级 论文:http://arxiv.org/pdf/2405.14137v1 代码:https://github.com/sStonemason/RET-CLIP RET-CLIP 是…

jsRpc js逆向远程调用加密函数

rpc介绍: RPC 全称 Remote Procedure Call——远程过程调用,简单说就是为了解决远程调用服务的一种技术,使得调用者像调用本地服务一样方便透明; 使用RPC服务就可以直接在浏览器中的页面js中注入代码,将其作为一个客户端&#xff…