相机的标定

    xiaoxiao2022-07-13  153

    参考博客:https://blog.csdn.net/lxy_2011/article/details/80675803 一.目的: 为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。这个求解参数(内参、外参、畸变参数)的过程就称之为相机标定。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。 畸变(distortion)是对直线投影(rectilinear projection)的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。畸变简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变(optical aberration),可能由于摄像机镜头的原因。 二.坐标系及变换 摄像机坐标系(相机在物理世界中的位置) 图像物理坐标系(成像器像元) 像素坐标系(图像像素) 世界坐标系(参考系) 1.图像坐标系(x,y)至像素坐标系(u,v) 这个和成像器的像元尺寸有关,如果轴之间不平行,则还需要考虑轴的夹角 2.相机坐标系(Xc,Yc,Zc)到相机物理坐标系(x,y) 与相机的焦距有关 3.世界坐标系(Xw,Yw,Zw)到相机坐标系(Xc,Yc,Zc) 与相机在世界坐标系中的位姿有关,世界坐标系分别沿着相机坐标系中的xyz轴旋转roll,patch,yaw然后平移tx,ty,tz到世界坐标系

    Lw是44的矩阵 将三个变换矩阵相乘,就得到了世界坐标系的一点到像素的对应关系,其中f,dx,dy,u0,v0是相机的内参,R和t是相机的外参 最简单的相机标定为线性标定,即不考虑相机的畸变而只考虑空间坐标转换。 每个坐标点有X,Y两个变量,可列两个方程,相机内参有5个未知数,外参平移和旋转各3个,共有11个变量,因此至少需要6个特征点来求解。 二.畸变 上述是理想的情况,实际情况中,受透镜和安装的影响,会产生畸变 主要为径向畸变和切向畸变,径向畸变是因为离图像中心,光线越弯曲造成的,主要有桶形畸变和枕形畸变;切向畸变是因为透镜在安装的过程中,与成像平面不平行造成的。 对于径向畸变,光学中心的畸变为0,随着向边缘移动,畸变越来越严重。 对于径向畸变可以通过下面的泰勒级数展开式进行校正: 这里的x、y是图像中的畸变后的位置坐标,通过校正得到真实坐标。r是该点距成像中心的距离 径向畸变和切向畸变模型中一共有5个畸变参数,在Opencv中他们被排列成一个51的矩阵,依次包含k1、k2、p1、p2、k3,经常被定义为Mat矩阵的形式,如Mat distCoeffs=Mat(1,5,CV_32FC1,Scalar::all(0));这5个参数就是相机标定中需要确定的相机的5个畸变系数。求得这5个参数后,就可以校正由于镜头畸变引起的图像的变形失真。对于质量比较好的相机来说,切向畸变很小,可忽略,径向畸变系数k3也可忽略,只计算k1,k2两个参数。张正友标定中就默认为p1,p2为0 具体的张氏校正的讲解 https://blog.csdn.net/waeceo/article/details/50580808 https://blog.csdn.net/lxy_2011/article/details/80675803

    A有5个参数,需要至少2个单应性矩阵才能求解,也就是三张不同的图片 三.标定 1.流程 1、打印一张棋盘格,把它贴在一个平面上,作为标定物。 2、通过调整标定物或摄像机的方向,为标定物拍摄一些不同方向的照片。 3、从照片中提取棋盘格角点。 4、估算理想无畸变的情况下,五个内参和六个外参。 5、应用最小二乘法估算实际存在径向畸变下的畸变系数。 6、极大似然法,优化估计,提升估计精度 2.Matlab标定

    最新回复(0)