鱼眼校正基础知识

相机校准是计算照相机的外在和内在的参数的过程。一旦校准照相机,则可以使用该图像信息从2-d的图像恢复3- d的信息​​。您也可以采取与鱼眼相机undistort图像。

鱼眼相机被用于里程测量和解决同时定位和地图(SLAM)问题的视觉。其他应用包括监视系统、GoPro、捕捉360度视野的虚拟现实(VR)和缝合算法。这些相机使用一系列复杂的镜头来放大相机的视野,使其能够捕捉到宽的全景或半球形图像。然而,透镜通过扭曲图像中的透视线来获得这种极宽的视角

由于极端失真的鱼眼透镜产生的,针孔模型不能鱼眼摄像机模型。

鱼眼相机型号

计算机视觉工具箱™ 基于Scaramuzza鱼眼相机模型的标定算法[一]。您可以使用此模型相机高达视图150度(FOV)的字段。该机型采用的全方位照相机模型。该过程将所述成像系统作为一个紧凑的系统。以涉及到一个2-d图像的3-d世界点,必须获得相机外在和内在的参数。世界点转化为使用外部参数参数相机坐标。相机坐标被映射到使用内在参数图像平面。

外在参数

外部参数包括一个旋转,[R和翻译,Ť。相机的原点的坐标系是在其光学中心和其X-以及ÿ轴定义图像平面。

从世界点到摄像点的转变是:

内在参数

对于鱼眼相机模型,其内在参数包括投影函数的多项式映射系数。对准系数与传感器对准以及从传感器平面到相机图像平面中的像素位置的变换有关。

以下等式映射的像点到其相应的3- d矢量。

  • 是真实世界的点的理想图像投影。

  • 表示换算因子。

  • 是由Scaramuzza模型,其中所述的多项式系数的

  • 是(üv)并且仅依赖于从图像中心的点的距离:

内在参数也解释了拉伸和变形。拉伸矩阵补偿传感器与镜头的不对中,失真向量调整图像平面的(0,0)位置。

下面的方程与真实的扭曲坐标有关(U ''v'')到理想的扭曲坐标(üv).

鱼眼摄像机标定在MATLAB

从鱼眼图像除去透镜畸变,则可以检测为棋盘校准图案,然后校准照相机。您可以使用的棋盘点detectCheckerboardPointsgenerateCheckerboardPoints公司功能。该estimateFisheyeParameters函数使用检测到的点并返回fisheyeParameters包含鱼眼相机的内部和外部参数的对象。你可以使用鱼眼校准仪检查校准精度。

鱼眼图像对镜头畸变的校正

通过检测棋盘校准模式并校准相机,消除鱼眼图像中的镜头失真。然后,显示结果。

收集一组棋盘校准图像。

图像= imageDatastore(完整文件(toolboxdir('视力'),'visiondata'...'校准'“gopro”));

检测从所述图像中的校准图案。

[imagePoints,boardSize] = detectCheckerboardPoints(images.Files);

为棋盘格正方形的角生成世界坐标。

平方=29;%毫米worldPoints = generateCheckerboardPoints(boardSize,squareSize);

估计基于图像和世界点鱼眼相机校准参数。使用第一图像来获得图像尺寸。

I=读取图像(图像,1);imageSize=[大小(I,1)大小(I,2)];params=估计鱼眼参数(imagespoints,worldPoints,imageSize);

从所述第一图像中去除透镜畸变一世并显示结果。

J1=无畸变鱼眼图像(I,参数内部函数);图imshowpair(I,J1,'剪辑')标题(“原始图像(左)与修正后的图像(右)”

J2 = undistortFisheyeImage(I,params.Intrinsics,'输出视图''满');图imshow(J2)标题(“全输出视图”

工具书类

[1] Scaramuzza,D.,A.马蒂内利和R. Siegwart。“一个工具箱,方便校准全方位摄像机。”IEEE智能机器人与系统国际会议论文集(IROS). 中国北京,2006年10月7日至15日。

也可以看看

功能

对象

相关主题