相机标定和坐标变换

环境:opencv2.4.9 ,vs2013
方法:张正友标定法
github地址:
https://github.com/xsfmg/findslope

标定

通过相机的标定得到相机内参和外参和畸变系数。
内参矩阵

  • 一般用A或者M1表示。内参矩阵含有相机的固有参数(fx,fy,Cx,Cy),fx,fy(单位:像素)与dx,dy(x,y方向一个像素的物理尺寸,单位:毫米/像素)和焦距f(单位:毫米)有关。 Cx,Cy为图像原点相对于光心成像点的纵横偏移量(单位:像素)。
  • 相机坐标系转图像坐标系
  • 3D恢复

外参矩阵

  • 一般用[R|T]表示,R表示旋转矩阵,T为平移矩阵。不同的棋盘图对应不同的旋转矩阵和平移矩阵。因为每一副图像对应的世界坐标系相对应与相机坐标系是不一样的。
  • 世界坐标系转相机坐标系
  • 图像校正(倾斜,平移)

畸变系数

  • 一般用[p1,p2,p3,k1,k2]表示,p1,p2,p3是相机的径向畸变系数,k1,k2是相机的切向畸变系数。
  • 图像矫正(T型畸变,鱼眼图像等)

标定步骤

  • 拍摄棋盘图,越多越好,一般10张就可以,10张必须符合所有角点都能检测到才算合格棋盘图。
  • 标定程序计算并保存相机内参和外参和畸变系数矩阵,
  • 运用三个矩阵解决实际问题。只要相机的角度和焦距固定,位置可以移动,那么内参矩阵和畸变系数是不会改变的。

注意:
单目标定的外参矩阵,运用只能对应相应的棋盘的世界坐标系。
双目标定可以确定唯一的外参矩阵。

坐标系

相机坐标系

以光心为相机坐标系的原点,以平行于图像的x和y方向为Xc轴和Yc轴,Zc轴和光轴平行,Xc,Yc,Zc互相垂直,单位是长度单位.

图像物理坐标系

可以认为是相机坐标系z轴方向的投影图。以主光轴和图像平面交点为坐标原点,注意:不一定是图像的中心点,根据Cx和Cy知道偏移了多少像素。图像物理坐标系x和y方向单位是长度单位。

图像坐标系

以主光轴和图像平面交点为坐标原点,x和y方向单位是像素单位。

世界坐标系

物体在真实世界中的坐标,比如黑白棋盘格的世界坐标系原点定在第一个棋盘格的顶点,Xw,Yw,Zw互相垂直,Zw方向就是垂直于棋盘格面板的方向。可见世界坐标系是随着物体的大小和位置变化的,单位是长度单位。只要棋盘格的大小决定了,无论板子怎么动,棋盘格角点坐标一般就不再变动(因为是相对于世界坐标系原点的位置不变),且认为是Zw=0。

原文地址:https://www.cnblogs.com/xsfmg/p/5993759.html