相机标定个人总结 下载本文

内容发布更新时间 : 2024/6/20 19:45:24星期一 下面是文章的全部内容请认真阅读。

本文是一篇关于相机标定意义和原理的个人总结,包含了OpenCV和Matlab中常用的相机标定函数的注解。

相机标定是机器视觉的基础,标定结果的好坏直接决定了机器视觉的系统精度,作用可见一斑。在这一年半的时间里,我个人也是随着实验和程序的进一步理解,对标定的原理和意义有了更多的想法。同样,由于博文的关系,仍有一些朋友会常常询问标定的程序问题。本人的2010-05-17OpenCV标定程序的问题也多次被朋友询问,由于当时对标定的认识还不够系统,因此现在认为该文对标定的意义和原理有很多误解,并在此推荐一些较好的博文拱大家学习:

双目测距与三维重建的OpenCV实现问题集锦(一)图像获取与单目标定; 双目测距与三维重建的OpenCV实现问题集锦(二)双目标定与双目校正; 双摄像头测距的OpenCV实现;

分享一些OpenCV实现立体视觉的经验;

下面结合本人的毕业论文及一年半来对机器视觉的学习,对相机标定的意义和原理进行叙述。

1.单目相机模型

单目相机模型中的三种坐标系关系如图1所示,相机坐标系即是以光轴中心O为原点的坐标系,其z轴满足右手法则,成像原点?f所代表平面即为像平面坐标系(实际应用中,均以图像左上角为坐标系原点),实际物体坐标系即为世界坐标系。

光轴中心Oxyf成像原点?fXf??Yfv?uPu(Xu,Yu,Zu)ZwYwXw实际物体坐标系ZP(Xw,Yw,Zw)图1 单目相机模型的三坐标系统关系

其中,P在世界坐标系的值为?XW,YW,ZW?,Pu是P在像平面坐标系的投影点,其相机坐标系的值为(Xu,Yu,Zu)。?是相机坐标系Z轴与像平面夹角,一般情况下Z轴与像平面垂直,?值为90。且相机坐标系x?y与像平面xf?fyf平行,f为相机的焦距。

1 / 12

对于从相机坐标系到像平面坐标系的变换,像平面坐标系是用像素单位来表示的,而相机坐标系则是以毫米为单位来表示,因此,要完成改变换过程就需要先得到像平面的像素单位与毫米单位之间的线性关系。在图1中,相机光轴中心z轴方向上与像平面的交点??称为投影中心,坐标为(cx,cy),是像素单位,而每个像素在Xf和Yf的物理尺寸为sx?1和

dxsy?1,单位是像素/毫米,则像平面的像素与毫米间的线性关系如式(1): dy?u??sx????v???0?1??0???0sy0cx??x????cy??y?

?1????1? (1)

根据小孔模型下投影变换原理,像平面的物理坐标(x,y)对应的相机坐标系满足式(2): XuYu? x?f?f?ZZcos??uu?Yu?y?f?Zusin??其对应的矩阵形式为式(3):

?f?x???1??y??Z?0u??1????0?fcos?1?fsin?1?0 (2)

?X?00??u??Y00??u?

?Zu?10???1????X?0??u??Y0??u? ?Zu?0???1??? (3)

联立式(1)和式(3),得到式(4)即为相机坐标系与像平面坐标系变换的矩阵。

?sxf?u???1??v??Z?0u??1????0?fcos?1?syfsin?1?0cxcx1 (4)

??其中,?1,1,cx,cy,f,??即为相机的6个内参数,其组成的矩阵即为内参数矩阵。

ssxy??对于从相机坐标系到世界坐标系的变换,是通过旋转矩阵R和平移矩阵T完成的,如图

2所示。

(R,T)成像面yxP(Xw,Yw,Zw)xzzOy物体坐标系Pu?Xu,Yu,Zu?摄像机坐标系

图2 相机坐标系与世界坐标系的变换关系

其中,平移矩阵T是三维列向量,旋转矩阵R是坐标轴依次绕x,y和z轴旋转角度?,?2 / 12

和?所形成的三个矩阵Rx???,Ry???,Rz???的总乘积。它们的定义如式(5):

00??1??Rx???=?0cos?sin???0-sin?cos?????cos?0-sin????Ry???=?010? ?sin?0cos?????cos?sin?0???Rz???=?-sin?cos?0??001??? (5)

则矩阵R的计算公式如式(6):

?cos?cos??R=?-cos?sin??sin??cos?sin?+sin?sin?cos?cos?cos?-sin?sin?sin?-sin?cos?sin?sin?-cos?sin?cos???sin?cos?+cos?sin?sin?? (6)

?cos?cos??因此,从相机坐标系到世界坐标系的变换如式(7),其中,0?表示?000?,R3?3为旋转矩阵,T3?1为平移矩阵,该变换矩阵称为外参数矩阵。

?Xu??Xw?????YY??RTuw????3?33?1???

??Zu??01??Zw?????11???? (7)

最后,联立式(4)和式(7)求得像平面坐标系与世界坐标系之间的变换关系,如式(8):

?sxf?u???1??v??Z?0u??1????0?m00?m??10?m20??m30?fcos?1?syfsin?1?0m01m11m21m31m02m12m22m32?Xw???T3?1??Yw??1??Zw?1???1?m03??Xw??Xw??????m13??Yw?Yw?=M3?4? ????m23ZwZw??????m33??1??1?cxcy0???R?30??3??00?? (8)

其中,M3?4即为透视投影矩阵,表示空间中三维点坐标与图像平面二维坐标之间的线性关系,?uv1?表示Pu的像平面齐次坐标值,?Xw?YwZw1?表示P的世界坐标系齐次坐

?标值。基于以上几何原理和相机模型得到的图像信息和三维信息之间的关系,存在不可逆性,

即可以通过已知世界坐标系的坐标值求得二维坐标值,如果要进行二维坐标到三维坐标的反求还需要其他的数学模型辅助求解。 2.Matlab标定工具箱应用

1) 制作标定板,标定板尺寸为324(mm)X252(mm),即7行9列63个36mm的正方形方格组

成,如图3所示。

3 / 12