图像scale与相机参数_相机标定(二)——图像坐标与世界坐标转换

本文详细介绍了图像坐标与世界坐标之间的转换关系,包括相机的四个坐标系定义,坐标变换流程,内参和外参的计算,以及解决PNP问题的OpenCV函数`solvePnP`的使用。此外,还提供了Matlab和C++代码示例来演示坐标转换的过程。
摘要由CSDN通过智能技术生成

相机标定(二)——图像坐标与世界坐标转换

一、坐标关系

相机中有四个坐标系,分别为world,camera,image,pixel

world为世界坐标系,可以任意指定xw轴和yw​轴,为上图P点所在坐标系。

camera为相机坐标系,原点位于小孔,z轴与光轴重合,xw​轴和yw​轴平行投影面,为上图坐标系XcYcZc。

image为图像坐标系,原点位于光轴和投影面的交点,xw轴和yw​轴平行投影面,为上图坐标系XYZ。

pixel为像素坐标系,从小孔向投影面方向看,投影面的左上角为原点,uv轴和投影面两边重合,该坐标系与图像坐标系处在同一平面,但原点不同。

二、坐标变换

下式为像素坐标pixel与世界坐标world的变换公式,右侧第一个矩阵为相机内参数矩阵,第二个矩阵为相机外参数矩阵。

2.1 变换流程

该方程右侧隐含了一次齐次坐标到非齐次坐标的转换

顺序变换

从pixel到camera,使用内参变换

从camera到world,使用外参变换

注意:两个变换之间的矩阵大小不同,需要分开计算,从pixel到camera获得的相机坐标为非齐次,需转换为齐次坐标再进行下一步变换。而在进行从camera到world时,需将外参矩阵转换为齐次再进行计算。(齐次坐标的分析)

直接变换

注意:直接变换是直接根据变换公式获得,实际上包含pixel到camera和camera到world,实际上和顺序变换一样,通过顺序变换可以更清晰了解变换过程。

2.2 参数计算

内参:通过张正友标定获得

外参:通过PNP估计获得

深度s:深度s为目标点在相机坐标系Z方向的值

2.3 外参计算

solvePnP函数

Perspective-n-Point是通过n组给定点的世界坐标与像素坐标估计相机位置的方法。OpenCV内部提供的函数为solvePnP(),函数介绍如下:

bool solvePnP(InputArray objectPoints,

InputArray imagePoints,

InputArray cameraMatrix,

InputArray distCoeffs,

OutputArray rvec,

OutputArray tvec,

bool useExtrinsicGuess=false,

int flags=ITERATIVE )

objectPoints,输入世界坐标系中点的坐标&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值