双目摄像头标定(matlab工具箱)

参考:利用matlab工具箱进行双目标定 https://www.pianshen.com/article/66211088999/

一、准备工作

  • 1 下载工具包TOOLBOX_calib Download Page
  • 2 解压TOOLBOX_calib 文件夹至 D:\MATLAB\R2014b\toolbox 路径,并在matlab中添加路径
  • 3 准备标定板 Download Page,采集数据。
    一般的,标定板越大越好。将标定板摆在相机可视的范围内,每拍一张照片,标定板换一个位置和朝向。采集棋盘图的时候要注意,尽量让棋盘占据尽可能多的画面,这样可以得到更多有关摄像头畸变方面的信息。棋盘图不能动,此时从左右摄像头各采集一副图片保存。

在这里插入图片描述

二、相机标定

  • 1 启动相机标定工具箱
    matlab进入图像目录,输入命令calib_gui 15 到 20 张照片可以选择 Standard 模式,当图像量大且多时需要用 Memory efficient 模式
  • 载入图片
    点击 Image names 按钮,依次输入标定图像序列的名称前缀(不包含数字序号),图片格式。

3 提取角点
点击 Extract grid cornder 按钮

1)输入需要处理的图片数目,默认回车为刚才导入的全部图片
2)选择默认的 corner finder 窗口大小(就是十字光标),wintx=winy=5, 比较合适。光标的大小恰好是 11X11 个像素。
3)角落提取引擎含有自动计算方块个数的系统。这个引擎特别适合多图像的情况。避免了在 X 方向和 Y 方向手动输入方块个数的麻烦,默认使用自动方块检测机制。
然后会弹出第一幅图片让你用鼠标选定四个角点,第一个点会作为原点,一般位于左上角,其他三个点选择顺序不重要,不过还是建议按顺时针选取(为标定方便,我们未将最外层的方格包括在内)

第一幅图片读完后,输入每个小方格在现实世界中的宽高,以便随后角点的自动选择,实验过程中设定为 30mm×30mm,只需第一次设定。程序会自动计算方块的数量和角点(X 方向和 Y 方向),并且显示出来。

接下来看 Matlab 命令行的提示,如果预测的角点接近真实图片上的角点,那么接下来的步骤可以省略(如果没有太大的图像变形的话)。现在预测的跟实际很接近,不需要通过键入径向畸变系数(radial distortion coefficient)来 “帮助” 软件。按下 “回车键”,角点自动被提取出来。

  • 对剩下的每一幅图像都进行上述角点提取操作,(第一次标定必须很麻烦的一幅一幅的操作,若已经做过一次,可点击 load 选项,会自动载入 Calib_Results.mat 中的角点信息,这个信息在第一次标定时会生成,后面会讲到)
  • 4 实施标定
    完成角点提取后,点击校正工具箱上的 Calibration 按钮来运行主要校正步骤。
    初始化步骤计算校正参数的封闭解,不包括任何镜头失真(程序名称:init_calib_param.m)。非线性最优化步骤使所有参数的二次投影误差最小(9 个内部自由度(DOF):焦点,投影中心,失真系数,和 6X20 个外部自由度,一共 129 个参数)

说明
A. 通过 Recomp. corners 按钮提高标定精确度;
B. Analyse error 展示角点误差分布,用鼠标左键点击后,在命令窗口可直接显示该点信息;

C. 点击 Reproject on images 按钮用计算出来的参数投影到图像。这些投影是基于当前的内部参数和外部参数。二次投影误差同样显示如下:

D: 点击工具箱上的 Show Extrinsic。外部参数(网格对于摄像机的相对坐标,即摄像机坐标系)将显示出来:

回头看一下误差图表,发现有一些二次误差很大。原因是我们没有在一些失真较大的图像上仔细提取角点(一个较好的工作是用预测失真选项)。无论如何,我们可以自动重新计算所有图像角点。方法是:点击 Recomp.corners 按钮,选择新的角点检测大小,wintx=winty=5, 再点击 Calibration 按钮运行一次。查看重投影误差,明显减小。

  • 5 保存标定结果
    最优化完成后,点击 Save 按钮来保存校正的结果, 得到的相机参数存储在 Calib_results.mat 文件中,为了后续方便将文件名字改写为 Calib_Result_left.mat.
  • 6 同样方式标定右摄像机
    分别生成 Calib_Results_left.mat 和 Calib_Results_right.mat 两个文件

三、双目标定

  • 1 启动相机标定工具箱
    输入命令stereo_gui
  • 2 导入左右相机标定结果
    选择 Load left and right calibration files 按钮,如果是按照上面两个文件命名的,敲两次回车(Enter)

3 双目标定
点击 Run stereo calibration 按钮。

点击 Show Extrinsics of stereo rig 显示照片与摄像头的关系图,如图所示两个摄像头前向平行并在一条直线上,两个摄像头之间的距离为 60mm 与实际情况相符。

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MATLAB标定工具箱(Camera Calibration Toolbox for MATLAB)是一个用于相机标定的开源工具箱。它提供了一套完整的函数和算法,方便用户进行各种相机标定任务。 标定是相机应用中常用的操作,其目的是确定相机的内外参数以及畸变参数。标定的结果可以用于图像处理、三维重建等多个领域。MATLAB标定工具箱通过计算图像和实际世界之间的映射关系,从而获得相机的参数。 在MATLAB标定工具箱的源代码中,主要包含了以下几个重要的函数和算法: 1. 找到角点:该功能通过分析标定板图像,自动检测出标定板中的角点位置。这个过程被称为角点检测。 2. 棋盘格角点检测算法:该算法根据棋盘格模式的特点,通过角点的边缘特征来检测标定板中的角点。这个算法可以有效地应用于棋盘格等结构规则的标定板。 3. 相机内外参数计算:在标定完成后,MATLAB标定工具箱可以计算相机的内外参数。内参数包括焦距、主点位置等;外参数包括相机在世界坐标系中的旋转和平移矩阵。 4. 畸变矫正:标定摄像头时往往会产生畸变,包括径向畸变和切向畸变。MATLAB标定工具箱提供了畸变矫正功能,可以将畸变图像矫正为无畸变的图像。 以上是MATLAB标定工具箱源代码中的主要功能和算法。通过使用这些源代码,用户可以根据自己的需要进行修改和扩展,实现更加复杂的相机标定任务。 ### 回答2: Matlab标定工具箱Matlab软件中的一个重要工具箱,可以用来对相机、激光雷达等进行标定,以获取它们的内部参数和外部参数。 标定工具箱的源代码包括了几个主要的函数,如: 1. `cameraCalibrator`:相机标定函数,可以通过对一系列图像进行处理,得到相机的内部参数(如焦距、主点位置、畸变系数等)和外部参数(如相机在世界坐标系中的位置和旋转)。 2. `lidarCalibrator`:激光雷达标定函数,通过特定的标定板和激光雷达扫描得到的数据,可以计算激光雷达的内部参数(如旋转角度、扫描频率等)和外部参数(如激光雷达在世界坐标系中的位置和旋转)。 3. `stereoCameraCalibrator`:双目相机标定函数,可以通过对一对相机图像进行处理,获取双目相机的内部参数(如焦距、主点位置、畸变系数等)和外部参数(如相机在世界坐标系中的位置和旋转,以及两个相机之间的相对位置和旋转)。 标定工具箱源代码的编写涉及到了计算机视觉、图像处理、几何学等相关领域的知识。通过对标定标准和图像/激光数据的处理,使用数值计算和优化算法,最终得到了相机或激光雷达的准确参数。 使用Matlab标定工具箱可以方便快捷地进行相机或激光雷达的标定,提高了标定的准确性和效率。标定结果可以用于后续的计算机视觉和三维重构等应用中,使得这些设备能更好地进行图像或点云数据的处理和分析。 ### 回答3: MATLAB标定工具箱MATLAB中一种用于相机标定和立体视觉的工具。标定相机的过程主要包括获取相机的内外部参数,以及畸变系数。这些参数对于计算机视觉应用非常重要,例如立体匹配、三维重建等。 MATLAB标定工具箱提供了一套完整的标定流程,包括图像采集、点提取、参数计算等环节。其中,主要的步骤包括:获取标定板的图像,使用棋盘格标定板进行标定,提取图像中的角点,计算内外部参数和畸变系数。使用MATLAB标定工具箱的源代码,可以了解标定的具体实现过程,以及参数的计算方法。对于有特殊需求的用户,也可以根据源代码进行定制化开发。 标定工具箱的源代码主要包括以下模块:相机标定、棋盘格角点提取、图像畸变校正和立体标定。其中,相机标定模块利用已知的标定板图像计算相机的内部参数和畸变系数。棋盘格角点提取模块通过图像处理技术自动提取标定板上的角点。图像畸变校正模块根据计算得到的畸变系数对图像进行畸变校正。立体标定模块通过标定得到的相机参数计算立体视觉的外部参数,如相机之间的相对位置和姿态。 通过使用MATLAB标定工具箱的源代码,我们可以学习相机标定和立体视觉的基本原理,深入理解各个环节的算法实现。同时,也可以根据具体的需求进行扩展和改进,实现更加复杂的标定功能和计算方法。MATLAB标定工具箱的源代码为我们提供了一个方便、可扩展的工具,帮助我们进行相机标定和立体视觉的研究和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值