本文是一篇关于相机标定意义和原理的个人总结,包含了 OpenCV 和 Matlab 中常用的相机标定函数的注解
相机标定是机器视觉的基础,标定结果的好坏直接决定了机器视觉的系统精度,作用可见一斑
在这一年半的时间里,我个人也是随着实验和程序的进一步理解,对标定的原理和意义有了更多的想法
同样,由于博文的关系,仍有一些朋友会常常询问标定的程序问题
本人的 2024-05-17OpenCV 标定程序 的问题也多次被朋友询问,由于当时对标定的认识还不够系统,因此现在认为该文对标定的意义和原理有很多误解,并在此推举一些较好的博文拱大家学习:双目测距与三维重建的 OpenCV 实现问题集锦(一)图像猎取与单目标定 ;双目测距与三维重建的 OpenCV 实现问题集锦(二)双目标定与双目校正 ;双摄像头测距的 OpenCV 实现 ;分享一些 OpenCV 实现立体视觉的经验 ;下面结合本人的毕业论文及一年半来对机器视觉的学习,对相机标定的意义和原理进行叙述
单目相机模型单目相机模型中的三种坐标系关系如图 1 所示,相机坐标系即是以光轴中心 O 为原点的坐标系,其 z 轴满足右手法则,成像原点所代表平面即为像平面坐标系(实际应用中,均以图像左上角为坐标系原点),实际物体坐标系即为世界坐标系
图 1 单目相机模型的三坐标系统关系其中,在世界坐标系的值为,是在像平面坐标系的投影点,其相机坐标系的值为
是相机坐标系轴与像平面夹角,一般情况下轴与像平面垂直,值为
且相机坐标系与像平面平行,为相机的焦距
对于从相机坐标系到像平面坐标系的变换,像平面坐标系是用像素单位来表示的,而相机坐标系则是以毫米为单位来表示,因此,要完成改变换过程就需要先得到像平面的像素单位与毫米单位之间的线性关系
在图 1 中,相机光轴中心 z 轴方向上与像平面的交点称为投影中心,坐标为,是像素单位,而每个像素在和的物理尺寸