指点成金-最美分享吧

登录

相机校正与相机内参外参

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了相机校正与相机内参外参相关的知识,希望对你有一定的参考价值。

简 介: 对于相机进行校正,是为之后视觉测量奠定基础。本文在总结了相机校正中的基本概念。使用cv2的函数说明校正的过程。

关键词 相机校正内参外参

相机标定

文章目录

相机标定基本原理

实验过程

相机校正

完整程序

总 结

 

§01 机标定


  部分内容来自于 python+OpenCV 相机标定

1.1 相机标定基本原理

  摄像机标定(Camera calibration)简单来说是从世界坐标系换到图像坐标系的过程,也就是求最终的投影矩阵 P 的过程。 根据相机标定(一)-原理及内参、外参 博文中的定义,在整个转换过程中,包括有四个坐标系:

  • 图像像素坐标系
  • 图像物理坐标系
  • 相机坐标系
  • 世界坐标系

  一般来说,标定的过程分为两个部分:

  • 第一步是从世界坐标系转换为相机坐标系,这一步是三维点到三维点的转换,包括 R , t R,t R,t(相机外参)等参数;
  • 第二部是从相机坐标系转为图像坐标系,这一步是三维点到二维点的转换,包括 K K K(相机内参)等参数;

1.1.1 世界坐标转换为相机坐标

  世界坐标就是实际外部环境坐标,原点为 O O O,三个正交坐标轴分别为 X , Y , Z X,Y,Z X,Y,Z。相机位于世界坐标内, O X , Y , Z O_X,Y,Z OX,Y,Z,原点为 C C C,镜头方向坐标为 Z c a m Z_cam Zcam,另外两个坐标轴 X c a m , Y c a m X_cam ,Y_cam Xcam,Ycam与镜头方向垂直。

▲ 图1.1.1 世界坐标转换为相机坐标

  从 O X , Y , Z O_X,Y,Z OX,Y,Z C X c a m , Y c a m , Z c a m C_Xcam,Ycam,Zcam CXcam,Ycam,Zcam的 映射转换公式为: X ^ c a m = R ( X ^ − C ^ ) \hat X_cam = R\left( \hat X - \hat C \right) X^cam=R(X^C^)

其中:

  • R R R表示旋转矩阵;
  • X ^ \hat X X^表示 X X X点在世界坐标 O X , Y , Z O_X,Y,Z OX,Y,Z中的位置;
  • C ^ \hat C C^表示相机原点 C C C在世界坐标中的位置;
  • X ^ c a m \hat X_cam X^cam表示 X X X点在相机坐标中的位置;

▲ 图1.1.2 世界坐标系与相机坐标系

1.1.2 相机坐标转换为图像坐标

  下图给出了在相机坐标系内的成像平面, p x , y p_x,y px,y与相机坐标主轴垂直,交点为图像坐标原点 p p p,距离相机与原点距离为相机焦距 f f f。相机坐标中任何一点 X X X在成像平面上的位置,也称为图像坐标,是由连线 X , C X,C X,C在成像平面上的交点 x x x确定。

▲ 图1.1.3 相机坐标中的点与成像平面

其中:

  • C C C表示 camera center,即相机的中心店,也是相机坐标系的原点;
  • Z Z Z表示principal axis,即相机的主轴;
  • p p p点所在的平面表示 image plane,即相机的像平面,也就是图片坐标系所在的二维平面;
  • p p p 点表示 principal point,即主点,也就是主轴与想平明香蕉的点;

  成像坐标 x x x的位置可以由三角几何比例关系确定。

▲ 图1.1.4 相机坐标系以及成像平面之间的关系

▲ 图1.1.5 利用三角几何比例关系确定成像位置

其中:

  • C C C 点到 p p p 点的距离,就是相机的焦距 f f f

  对于相机坐标中的点 ( X , Y , Z ) \left( X,Y,Z \right) (X,Y,Z),在成像平面上的位置为:
x = f ⋅ X Z ,    y = f ⋅ Y Z x = f \cdot X \over Z,\,\,y = f \cdot Y \over Z x=ZfX,y=ZfY

  简记为: ( X , Y , Z ) ↦ ( f ⋅ X / Z , f ⋅ Y / Z ) \left( X,Y,Z \right) \mapsto \left( f \cdot X/Z,f \cdot Y/Z \right) (X,Y,Z)(fX/Z,fY/Z)

  加上偏移量,如下图所示, 其中 p p p是像平面坐标系的 原点,在图像坐标系中的位置为 ( p x , p y ) \left( p_x ,p_y \right) (p

以上是关于相机校正与相机内参外参的主要内容,如果未能解决你的问题,请参考以下文章