关于世界坐标系,相机坐标系,图像坐标系,像素坐标系的一些理解

news2025/1/26 15:38:21

关于世界坐标系,相机坐标系,图像坐标系,像素坐标系的一些理解

  • 前言
  • 一、各坐标系的含义
  • 二、坐标系转换
    • 1.世界坐标系与相机坐标系(旋转与平移)
    • 2.相机坐标系与图像坐标系(透视)
    • 3.图像坐标系与像素坐标系(缩放)
    • 4.世界坐标系与像素坐标系


前言

在项目中,研究标定时,像素坐标与轴位置的关系时,需要用到关于坐标系的转换。在此也就是找到世界坐标系与像素坐标系的转换关系。想理清楚故做如下记录。


一、各坐标系的含义

四坐标关系图如下:
在这里插入图片描述

图中:

  1. 世界坐标系(OW—XWYWZW):
    一个三维直角坐标系,以其为基准可以描述相机与待测物体的空间位置。世界坐标系可以根据实际情况自由确定,时常的会和机器运动坐标系重合。
  2. 相机坐标系(OC—XCYCZC):
    一个三维直角坐标系,原点位于镜头的光心处,x,y分别与像面的两边平行,Z轴为镜头光轴,与像面垂直。
  3. 图像坐标系(O—XY)
    一个二维直角坐标系,原点是光轴与像面的交点(又称主点),即图像的中心点,x,y分别与像面的两边平行。
  4. 像素坐标系(O1—uv)
    一个二维直角坐标系,反应了相机(CCD/CMOS)芯片中像素的排列情况。原点位于图像的左上角,下x,y分别平行与像面。像素坐标与图像坐标实际是平移的关系(下面会详细描述)。像素坐标中坐标轴单位为像素。

PS:为什么要有世界坐标?
自己的理解:确定唯一且不变的世界坐标系之后,后面所有的坐标系都可以通过与世界坐标的相对关系来进行转换。此时,当我移动或者旋转世界坐标系的时候,通过相对关系可以很快速的得到其他坐标系下的数据。

二、坐标系转换

1.世界坐标系与相机坐标系(旋转与平移)

如下图示:
在这里插入图片描述
两个坐标系都可以通过旋转加平移来互相转换。
即有:
[ X C Y C Z C 1 ] = [ R T 0 1 ] [ X w Y w Z w 1 ] \begin{bmatrix} X_C \cr Y_C\cr Z_C\cr 1 \end{bmatrix} = \begin{bmatrix} R&T \cr 0&1 \end{bmatrix} \begin{bmatrix} X_w \cr Y_w\cr Z_w\cr 1 \end{bmatrix} XCYCZC1 =[R0T1] XwYwZw1
或者:
[ X w Y w Z w 1 ] = [ R T 0 1 ] [ X C Y C Z C 1 ] \begin{bmatrix} X_w \cr Y_w\cr Z_w\cr 1 \end{bmatrix} = \begin{bmatrix} R&T \cr 0&1 \end{bmatrix} \begin{bmatrix} X_C \cr Y_C\cr Z_C\cr 1 \end{bmatrix} XwYwZw1 =[R0T1] XCYCZC1
其中R为3×3的旋转矩阵,T为3×1的平移矩阵。

旋转矩阵R:
而旋转我们可以把它拆分成以每个轴为旋转中心进行的三次旋转调整。
如下图所示:
在这里插入图片描述
重合z轴,并以Z轴为旋转中心旋转,旋转角度为θ。
点P(x,y,z)为在坐标系O—XYZ中的P点坐标
点P(x,y,z)为在坐标系O—XYZ中的P点坐标
所以可以有:
在这里插入图片描述
则有矩阵:
在这里插入图片描述
同理的,重合x轴并以x轴为旋转轴,旋转角φ。重合y轴并以y轴为旋转轴,旋转角ω。可以得到如下矩阵:
在这里插入图片描述
所以可以得到旋转矩阵R = Rθ RφRω

平移矩阵T
平移矩阵T是一个3×1的矩阵,数值分别为世界坐标系与相机坐标系的原点的差值。
故最终的转换关系为:
在这里插入图片描述

2.相机坐标系与图像坐标系(透视)

p与相机光心的连线op,与像面的交点就是空间点P在像平面上的投影。此时f为有效焦距则有:
在这里插入图片描述

3.图像坐标系与像素坐标系(缩放)

图像坐标系与像素坐标系转换是二维坐标系的转换,且两坐标系中并不存在夹角,则只存在平移与缩放操作。如下图:

在这里插入图片描述
其中,dx是X方向像素与距离的比例;dy是Y方向像素与距离的比例;u0是X方向的平移距离;v0是Y方向的平移距离。

4.世界坐标系与像素坐标系

综上所述可得到表达式:
在这里插入图片描述
外参数决定了相机的姿态。而内参数与相机的位置无关。内外参数可通过标定获取。

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

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

相关文章

【UE4 RTS游戏】02-摄像机运动_完成摄像机在X轴上运动的相关步骤

效果通过控制键盘WS键使得“CameraPawn”进行前后移动步骤将landscape的Z轴位置更改为0删除“PostProcessVolume”将“LightmassImportanceVolume”移入Lighting文件夹内新建一个蓝图类,父类是Pawn,命名为“CameraPawn”将“MyController”重命名为“Cam…

详解JVM

详解JVM 最近学习了:周志明《深入理解高并发编程》;; 特此简要对学习做了部分总结,方便后续对JVM相关知识的完善和巩固; 若想深入了解学习,可阅读上述参考原著; Java内存区域与OOM 运行时数据…

大数据 | (三)centos7图形界面无法执行yum命令

大家好,今天是三八女神节了! 你知道吗?世界上第一位电脑程序设计师是名女性,Ada Lovelace (1815-1852)。 她是一位英国数学家兼作家,第一位主张计算机不只可以用来算数的人,也发表了第一段分析机用的演算…

vector中迭代器失效的问题及解决办法

目录 vector常用接口 vector 迭代器失效问题 vector中深浅拷贝问题 vector的数据安排以及操作方式,与array非常相似。两者的唯一差别在于空间的运用的灵活性。array 是静态空间,一旦配置了就不能改变;要换个大(或小) 一点的房子&#x…

CorelDRAW Graphics Suite2023更新内容介绍

懂设计的职场人都知道这款软件,CorelDRAW是一款非常高效的矢量图形设计软件。CorelDRAW操作界面简洁易懂,能够为用户提供精确地创建物体的尺寸和位置的功能,减少点击步骤,提高设计效率,节省设计时间。功能比普通的美图…

简单理解TransFormer

背景:听了李宏毅老师关于transformer的讲解,觉得有必要记录一下,里面的PPT都是李宏毅老师的内容(不喜勿喷)1.self-attention在介绍transformer之前,必须先了解self-attention(1) 先将X输入Embedding(a Wx), 然后a乘相关的权重,生…

Day11-网页布局实战-CSS3动画

文章目录一 CSS3动画1 2D动画案例1-鼠标输入移入DIV 让图片旋转90度案例2-鼠标输入移入DIV 缩放图片案例3-贯穿项目-DIV移动2 animation动画播放器案例1-基础案例案例2-使用百分比关键帧定义动画案例3-旋转的图片案例4-贯穿案例-轮播图3 多余文本省略号...代替案例1-多余文本..…

一 Go环境搭建

1. 下载地址 https://golang.google.cn/dl/ 傻瓜式安装,自动会配置path的变量,安装完成后可以使用go version 查看当前安装的版本 本文使用目前最新的1.20.2版本 2. 配置go环境 cmd控制栏打开输入以下命令(如果cmd有问题可以尝试powershe…

340秒语音芯片,轻松实现语音交互,畅享智能生活WTV380语音ic方案

随着智能家居、安防报警、宠物用品 等,智能设备的普及,语音交互技术正在逐渐成为人机交互的主要方式之一。而如何实现稳定高效的语音交互,就需要借助先进的语音芯片技术。今天,我们介绍的是一款高性能的语音芯片——WTV380&#x…

Gamma矫正

Gamma 曲线Gamma校正被使用在8位RGB图中。用来解决在有限的存储空间中保存尽可能多的人类感受敏感的色彩内容。Gamma 矫正Gamma校正的方式就是采样时,和输出到显示器给人类看时,对亮度进行的调整.如采样时 Gamma1/2.2 调亮Gamma,如显示时 Gamma2.2 调暗Gamma实际亮度…

【Redis】Redis慢查询

文章目录慢查询记录慢查询两个配置参数修改配置参数慢查询日志慢查询记录 我们都知道像mysql等持久化数据库会有慢查询日志,其实Redis中也有慢查询日志的功能。慢查询就是系统在执行命令的前后计算每条命令的执行时间,如果超过我们预设的时间&#xff0c…

登录接口-简约版(工作日记4)

前提条件: 1、jmeter接口测试工具 2、接口信息 获取验证码信息 登录接口信息 题外话: 接口返回的数据中如果有文字就会乱码 怎么解决 1、进入jmter文件–进入bin文件夹,找到jmeter.properties文件 2、右键打开,可以用文本模…

基于遗传算法的CVRP建模求解(Python)

带容量约束的车辆路径优化问题,CVRP,对一系列装卸货点进行适当的路径规划,在满足约束条件(客户需求、车辆载重和容积、车型、车辆行驶里程、配送中心数量等限制)和目标最优化(路程最短、成本最低、使用车辆…

点灯大师--点个正点原子阿尔法开发板的灯

点灯大师–点个正点原子阿尔法开发板的灯 文章目录点灯大师--点个正点原子阿尔法开发板的灯正点原子阿尔法开发板点灯1、使能 GPIO1 时钟2、设置 GPIO1_IO03 的复用功能3、配置 GPIO1_IO034、设置 GPIO5、控制 GPIO 的输出电平五种点灯的方法1.在一个驱动文件中实现寄存器初始化…

【C语言】编译+链接

一、程序的翻译环境和执行环境 在ANSI C的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代码。详解编译链接翻译环境1.组成一个程序的每个源文件通过…

STM32电动车报警器

目录 项目需求 项目框图 硬件清单 振动传感器介绍及实战 振动传感器介绍 振动传感器编程实现 继电器介绍及实战 继电器工作原理 433M无线发射接收模块介绍及实战 433M无线发射接收模块介绍 ​编辑 433M编程实现 项目设计及实现 编程实现 项目需求 点击遥控器A 按键…

规约第二章

文章目录有限域的定义Definition of Finite Field单位元运算举例素数域群阿贝尔群阿贝尔循环群循环子群阿贝尔循环群且阶是素数的有限域的定义Definition of Finite Field 单位元 这里一般只需要记住2个0,1 。0是加法的单位元,1是乘法的单位元。以及逆…

【JavaScript UI库和框架】上海道宁与Webix为您提供用于跨平台Web应用程序开发的JS框架及UI小部件

Webix是Javascript库 一种软件产品 用于加速Web开发的 JavaScript UI库和框架 Webix用于跨平台Web应用程序开发的JS框架,为您提供102个UI小部件和功能丰富的CSS/HTML5 JavaScript控件 开发商介绍 Webix团队由由热衷于创建高质量网络产品的专业人士组成&#xff…

docker desktop安装K8S

文章目录一、配置镜像源二、使用步骤1.引入库2.安装k8s3.加载资源4.K8S官方dashboard总结摘抄这个,因为这个有些不全 导致走了一些弯路 一、配置镜像源 国外特别的慢 {"debug": true,"experimental": false,"insecure-registries":…

CSS的常用元素属性,显示模式,盒模型,弹性布局

目录 1.常用元素属性 1.1字体属性 设置字体 设置大小 字体粗细 文字样式 1.2文本属性 文字颜色 文字对齐 ​编辑文本装饰 文本缩进 ​编辑行高 ​编辑1.3背景属性 背景颜色 背景位置 背景尺寸 1.4圆角矩形 2.元素的显示模式 2.1块级元素(display:block) 2.…