本节主要介绍相机的标定方法,包括其内、外参数的求解,以及如何使用HALCON标定助手实现标定。
计算机视觉——相机标定(Camera Calibration)_摄像机标定-CSDN博客
1. 原理
本节介绍与相机标定相关的理论知识,不一定全,可以参考相关的专业书籍。
1.1 为什么要进行标定
实际使用的相机镜头都是光学透镜,只有通过光心的光线才是沿直线传播的,而大部分的光线在通过透镜后会发生折射,从而改变了传播的角度。越靠近透镜的边缘,改变的角度也就越大,这会造成相机所成的像产生距离上的拉伸以及形状的改变,这个现象称为相机畸变。
对相机进行标定操作其实就是通过一系列的计算校准后得到修正参数,通过这些参数修正后就可以得到与人眼看到的景象相同的图像,也就是将三维景象转换成去除畸变后的二维图像。无论是在机器视觉还是在图像测量应用中,相机标定都是非常关键的环节,其标定的精度及算法的稳定性直接影响结果的准确性。因此,做好相机标定是进行后续工作及实验的前提。
进行摄像机标定的目的主要是两方面:一是求出相机的参数(包括内参数、外参数),二是畸变参数。下面围绕着这两个方面展开介绍。
1.2 相机模型
1.2.1 四大坐标系
- 世界坐标系是一个全局坐标系,用于描述物体在真实世界中的位置。世界坐标系用 (X_w, Y_w, Z_w) 表示,独立于相机,可以任意选择原点和坐标轴的方向。
- 相机坐标系 (Camera Coordinate System)**以相机的光学中心为原点,Z ZZ轴指向相机的正前方,X XX轴和Y YY轴分别指向相机的右侧和下方,用于描述物体在相机视角下的位置。通常,相机坐标系用 ( X c , Y c , Z c ) (X_c, Y_c, Z_c)(X c,Yc,Z c ) 表示。
- 图像坐标系 (Image Coordinate System)**是二维坐标系,用于描述物体在相机成像平面上的投影位置。通常,图像坐标系用 ( x , y ) (x, y)(x,y)表示,图像坐标系的原点通常位于成像平面的中心,x xx轴和y yy轴分别指向图像的右侧和下方。
- 像素坐标系 (Pixel Coordinate System)**是二维坐标系,用于描述物体在数字图像中的像素位置。通常,像素坐标系用 ( u , v ) (u, v)(u,v) 表示,即列数和行数。像素坐标系的原点通常位于图像的左上角,u uu轴和v vv轴分别指向图像的右侧和下方。
在机器视觉领域中,为了确定空间物体表面某点的三维几何位置与其投影图像(二维)中对应点之间的关系,必须建立相机成像的几何模型,这些几何模型参数就是相机的内外参数。
1. 3 相机畸变
常见的镜头畸变包括径向畸变和切向畸变两类。其中,大多数镜头都有径向畸变,而切向畸变影响相对较小。
在正确的拍摄条件下,矩形体的像仍然是矩形。如果将矩形物体拍摄成四边向外凸的桶形影像,则称镜头具有负畸变或桶形畸变。相反,如果影像为四边凹进,则称镜头具有正畸变,或枕形畸变。
- 桶形畸变是由于视场边缘的放大率比中心部分低引起的,即缩小光圈也不能矫正;
- 枕形畸变是由于视场边缘部分的放大率比中心部分放大率高引起的,即倾斜角度大的光线的放大率比倾斜角度小的光线的放大率高。