像素坐标系、图像坐标系、相机坐标系之间的转换

文章详细介绍了像素坐标、图像坐标、相机坐标和世界坐标之间的转换关系,特别是通过针孔摄像机模型将像素坐标转换为图像坐标和相机坐标的步骤。还提到了相机内参的重要性,包括焦距、主点坐标以及单位转换,并提到深度相机和PnP算法在确定Z_C坐标中的应用。

前言

这些确实很重要🤣
但是因为个人原因,本文对相机坐标系转换到世界坐标系不作记录😄

正文

像素坐标系,图像坐标系,相机坐标系,世界坐标系这四个关键坐标系的转换流程如下
在这里插入图片描述

通过针孔摄像机模型把三维世界的点映射到二维空间的示意图大概长这样
\描述

u,vu,vu,v表示像素坐标。x,yx,yx,y表示图像坐标。XC,YC,ZCX_C,Y_C,Z_CXC,YC,ZC表示相机坐标,OCO_COC表示相机坐标系的原点。XW,YW,ZWX_W,Y_W,Z_WXW,YW,ZW表示世界坐标

如果抛掉世界坐标系和相机坐标系,像素坐标(u,v)(u,v)(u,v)到图像坐标(x,y)(x,y)(x,y)的仿射变换很简单

[uv1]\begin{bmatrix} u \\ v \\ 1 \\ \end{bmatrix} uv1 =[1/dx0u001/dyv0001]\begin{bmatrix} 1/dx & 0 & u_0 \\ 0 & 1/dy & v_0 \\ 0 & 0 & 1 \\ \end{bmatrix} 1/dx0001/dy0u0v01 [xy1]\begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} xy1

首先明确像素到图像之间的转换不仅是数值,也包含了单位的转换,即像素/px到毫米/mm,这样更容易理解公式,其中dxdxdxdydydy分别代表xxx方向和yyy方向上单个像素对应的长度,u0u_0u0v0v_0v0分别代表主点的像素坐标(相机光轴与成像平面的交点),换个皮肤就长下面这样

{ x=(u−u0)∗dxy=(v−v0)∗dy\begin{cases} x=(u-u_0)*dx\\ y=(v-v_0)*dy\\ \end{cases}{ x=(uu0)dxy=(vv0)dy

结合图一起看就会发现,先把像素点移到主点位置,然后用像素个数乘单个像素对应的长度就是图像坐标

现在把相机坐标系加上,稍稍复杂了一点,简单地把透视投影的部分理解成相似三角形,想象你平行于相机坐标系Z轴,朝向Y轴正方向把整个坐标系拍在墙上,然后就有了下图

\描述

从图中很容易看出,三角形OCOxypO_CO_{xy}pOCOxyp与三角形OCOPPO_CO_PPOCOPP相似,补充设定如下
线段 pOxy=pxpO_{xy}=p_xpOxy=

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值