引 言
很多人在做相机标定时,可能大部分只是知道相机标定就是把像素坐标换算成机台的实际坐标,但是具体原理是怎样来的?想必很多人并不清楚,因为现成的视觉软件只需要你输入九对像素坐标点和实际坐标点,现成的视觉软件就会帮你算出来,那为什么要九个点?用十个点或者四个点行不行?或者说要实现相机标定最少需要几个点?
本文主旨就是要把相机标定讲清楚,但是由于篇幅过大,我们把他分成两部分。本文部分主要介绍了工业相机的成像原理及如何推导出工业相机的成像数学模型,以及由于实际相机并非标准的针孔成像,引入可畸变矫正。这是后面做相机标定的基础,有了成像数学模型才能做出对应的相机标定。那相机的投影矩阵是什么?外部参数矩阵是什么?内部参数矩阵是什么?这些与相机标定有没有半毛钱的关系?别急,我们往下看……
相机成像原理
工业相机的成像由成像几何模型确定,即三维空间上的任意一点通过相机映射至图像平面上的映射关系,因此相机的成像过程也常常称为投影几何的变换过程。
相机成像的几何模型,实际上是反映了摄像机光学成像的几何模型,一般将其分为线性模型(经典的针孔成像模型)和非线性模型。非线性模型比较复杂,现在市面上大部分的相机标定基本都是基于线性模型来实现的。针孔成像模型是相机成像几何模型中最简单的模型,它是一种理想的线性投影成像模型。
其实画出成像关系图,如下图,可以看出成像关系就是简单的相似三角形的关系。
图中f是相机的焦距,Z是摄像机镜头光心到物体的距离,X是物体的长度,x是图像平面上物体的像,则它们之间存在如下中心投影关系:
为了使中心投影关系数学表达式更简单些,将上图中的针孔平面和图像平面进行交换位置,将针孔点理解成投影中心,光轴与图像平面的交点称为主点O0,如图下图所示