“ 经济基础决定上层建筑”
1、什么是标定?需要标定什么?为什么需要标定?
空间物体呈现的是三维几何位置,相机内的投影图像为二维位置,所以,确定空间物体某点的三维几何位置与其投影图像中对应点的关系,就是标定。
需要确定标定关系,必须建立物体与相机的投影数学模型,即相机成像的几何模型。构建几何模型的数学参数就是需要标定的内容,即相机的内外参数。内参是相机的工艺参数,包括焦距,主距,畸变系数,相邻像素距离等。外参是相机的位置参数,包括旋转角度,平移距离等。
由此而得知,为了确定物体与成像的映射关系才需要标定的结论。但是,由于受到光学生产工艺的影响,相机镜头在制造生产后,其成像总会呈现或多或少的畸变。只有在消除畸变的情况下,才能获取准确的映射关系,进一步有利于进行高精度测量和定位。所以,为了确定准确的映射关系才是标定的原因。
2、相机标定原理
相机成像模型简化如下图所示。
从右至左分别建立世界坐标系,相机坐标系,图像坐标系。
1)世界坐标系,一般是产品所在平面所建立的世界绝对坐标系。
2)相机坐标系,以镜头中心为原点,所构建的坐标系。
3)图像坐标系,分为成像平面坐标系和图像像素坐标系
a)成像平面坐标系:如图中成像原理所构成的成像坐标系
b) 最终呈现给用户的图像显示形式,以左上角为原点构建的坐标系。
所以相机标定原理的核心就是坐标系转换。
转换步骤如下:
1)世界坐标系转相机坐标系;
2)相机坐标系转成像平面坐标系;
3)成像平面坐标系转图像像素坐标系;
第2)步骤中,一般先将相机坐标系转换至理想成像平面坐标系,再进行相机镜头的畸变矫正,转换至真实的成像平面坐标系。
根据矩阵论,空间上一点乘以一个矩阵,相当于旋转至另一个位置,加上一个向量,相当于平移到另一个位置。最终得到如下数学公式:
其中,u,v为图像坐标系坐标点,X为世界坐标系坐标点,z为工作距离, αx=f/dx , αy=f/dy,称为u、v轴的尺度因子,M1称为相机的内部参数矩阵,M2称为相机的外部参数矩阵,M称为投影矩阵。
所以,求得内外参即可将X转换至u、v。
3、标定板
令人欣慰的是, 我们不需要将繁琐的标定步骤细化至程序实现,利用标定板与Halcon自带的标定助手,就可完成以上过程。
通常在标定过程中,将标定板方至测量平面,以标定板为参考坐标系基准,建立世界坐标系,如下图所示。后续的标定过程可以借助halcon标定助手完成。
标定板的获取可以从相关厂商购买,也可利用halcon软件自动生成,当然后者生成后,再打印出来,精度肯定会略差一些,用于一些精度要求不高的测量和应用的场合,也可用于学习。
利用Halcon软件自动生成的.ps文件制作标定板
这个方法是最简单有效的。打开软件,调用算子:
gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : )
参数含义:
XNum:每行黑色标志圆点的数量。
YNum:每行黑色标志圆点的数量。
MarkDist:两个就近黑色圆点中心之间的距离。
DiameterRstio:黑色圆点半径与圆点中心距离的比值。
CalPlateDescr:标定板描述文件的文件路径(.descr文件为标定板描述文件)。
CalPlatePSFile:标定板图像文件的文件路径(.ps文件为标定板图形文件,可利用PS类软件打开)。
例:生成一个30*30的标定板的Halcon源代码为
gen_caltab(7,7,0.00375,0.5,'F:/HALCON程序/gencaltab/30_30.descr')

