张正友标定(一):为什么要进行相机标定

    关于相机标定的博客和论文现在已经多到鱼龙混杂的层面,多数初学者在众多资料中翻来翻去,然而对很多的标定细节和原理性知识知之甚少,以致于停留在跑demo的级别。本人在翻看大量的博客论文基础上,深感有必要将相机标定的知识进行一些归纳总结。由于才疏学浅,可能会在下面的文章中出现这样或者那样的错误,恳请大家直接指出错误,我一定深刻反思,立即整改。

   谈到相机标定,我们首先便会从世界坐标系,相机坐标系,图像坐标系和像素坐标系谈起。然而,这其实会让很多人有一种困惑:为什么要进行相机标定?

      很多人会回答,因为相机的中存在畸变,主要为径向畸变切向畸变;针对双目相机,还要通过标定获取两个相机之间的参数(旋转和平移)。首先,我们这些顺水推舟,主要介绍一下相机的畸变究竟为什么无法从硬件层面消除,而一定要通过标定算法。

   相机的主要部件包括镜头(Lens)和感光传感器(CMOS/CCD)。相机的成像主要是基于理想的小孔成像模型,但是针孔模型难以收集足够的光线,保证图像的清晰性。为了保证相机的收集光线的能力,透镜应运而生,带着各类畸变而生。很显然,畸变是相机的与生俱来的东西。

                                                             

     其中,径向畸变主要是由于镜头的球形形状造成,图像像素点以畸变中心为中心点,沿着径向产生的位置偏差,从而导致图像中所成的像发生形变。切向畸变主要是由于相机的装配造成。理想的相机装配结果是sensor的法线和Lens的主光轴完全重合,Lens的光轴恰好垂直于CMOS的圆心处,但是事与愿违,即使最精密的加工精度和装配精度也无法保证此类状态。这也就意味着拍摄得到的图像中心不是光轴的中心,光心和图像中心之间存在xshift,yshift,最终导致,实际物体在图像的形状发生歪曲。综合以上原因,导致无法建立理想的双目三角测距模型,更别提准确测距了。

                                               

径向畸变和切向畸变图(matlab 老版本工具箱绘制)

                                                   

                                                     

猜你喜欢

转载自blog.csdn.net/qq_15211883/article/details/84025400