相机标定原理

本文详细介绍了相机标定的原理,包括从世界坐标系到相机坐标系、相机坐标系到图像坐标系的变换,以及如何处理相机畸变。通过变换矩阵和畸变校正模型,阐述了物体三维坐标如何映射到二维图像像素坐标的过程。
摘要由CSDN通过智能技术生成

1 相机标定的目的

  • 建立相机成像的几何模型
    得到物体从三维世界映射到相机成像平面的变换矩阵,这一过程最关键的部分就是要得到相机的内参和外参。
  • 校正透镜畸变
    由于透镜的制造工艺(球面透镜),会使成像产生多种形式的畸变,通过标定计算畸变系数来校正各种像差

2 相机标定原理

上面提到,相机标定的目的之一是为了建立物体从三维世界到成像平面上各坐标点的对应关系,所以首先我们需要定义这样几个坐标系来为整个过程做好铺垫:

  • 世界坐标系(world coordinate system)
    用户定义的三维世界的坐标系,为了描述目标物在真实世界里的位置而被引入,坐标 (xw, yw, zw),单位为m。
  • 相机坐标系(camera coordinate system)
    在相机上建立的坐标系,为了从相机的角度描述物体位置而定义,作为沟通世界坐标系和图像/像素坐标系的中间一环,坐标 (xc, yc, zc),单位为m。
  • 图像坐标系(image coordinate system)
    也有看到称作“像平面坐标系”的,为了描述成像过程中物体从相机坐标系到图像坐标系的投影透射关系而引入,方便进一步得到像素坐标系下的坐标,坐标 (x,y),单位为m。
  • 像素坐标系(pixel coordinate system)
    为了描述物体成像后的像点在数字图像上的坐标而引入,是我们真正从相机内读取到的信息所在的坐标系,坐标 (u,v),单位为pixels(像素数目)。

.

相机四个坐标系的关系

  其中,构建世界坐标系只是为了更好的描述相机的位置在哪里,在双目视觉中一般将世界坐标系原点定在左相机或者右相机或者二者X轴方向的中点。
  相机坐标系的Z轴与光轴重合,且垂直于图像坐标系平面并通过其原点,相机坐标系与图像坐标系原点之间的距离为焦距f(这里运用针孔成像模型,假设像平面与焦平面重合,见2.2中的针孔模型)。
  像素坐标系平面u-v和图像坐标系平面x-y重合,但像素坐标系原点位于图中左上角。

2.1 世界坐标系到相机坐标系

  刚体从世界坐标系转换到相机坐标系的过程,可以通过旋转和平移来得到,其变换矩阵由一个旋转矩阵R和平移向量T组合而成,变换关系如下:
.


这里写图片描述

  其中R有3个参数(推导见附录),T有3个参数,变换矩阵

  即为外参矩阵,共6个参数。

2.2相机坐标系到图像坐标系

  从相机坐标系到图像坐标系,属于透视投影关系,从3D转换到2D。也就是把三维物体成像到二维成像面的过程,一般用简化的成像模型——小孔成像模型,这种情况下图像一定会落在焦平面上。(实际光学系统中是透镜成像,一般物体的像都不会落在焦平面,成像模型比较复杂,介绍见附录)
.


这里写图片描述

  为了方便观察,将像点和物点放到同一侧进行考虑,得到物点和像点的变换关系如下:
.


这里写图片描述

  此时投影点p的单位还是mm,并不是pixel,需要进一步转换到像素坐标系。

2.3 相机中的畸变

  由于实际相机模型与理想针孔模型之间的差异,图像会产生畸变,主要有径向畸变和切向畸变。
  对于畸变的校正,这里仅对opencv中的畸变校正模型进行简要的叙述。
  径向畸变的校正,用k1,k2,k3三个参数,(x, y)是未经纠正的点的坐标,(x_corrected, y_corrected)是校正径向畸变之后的图像坐标, r = x 2 + y 2 r = \sqrt { {x^2} + {y^2}} r=x2+y2 .

x c o r r e c t e d = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) y c o r r e c t e d = y ( 1 + k 1 r 2 &#

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值