使用MATLAB工具箱TOOLBOX_calib标定摄像头过程

1. 单个摄像头标定过程

在网上参考了一些大神的博客,发现有些地方并没有讲的很详细,我等小白水平看不懂啊,现将自己的过程详细记录下来,造福后面的小白们。
MATLAB版本:2014b
主机系统:window7 64
工具箱下载地址:http://www.vision.caltech.edu/bouguetj/calib_doc/
里面附有下载地址。
这是上面标定箱的第一个例子,假如你英文好的话,可以直接略过我这篇文章看英文的效果应该更好。
http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example.html

警告:采集图片的时候棋盘图千万不能动,此时从左右摄像头各采集一副图片,分为命名为left x与right x,然后再改变棋盘图位置,然后棋盘图又保存不动,再从左右摄像头各采集一副图片,命名为left y与right y,要不然后面你会后悔的,反正我是后悔了。

淘宝上买的一个双目摄像头,实际物比较小,
这里写图片描述

,先把解压的TOOLBOX_calib文件夹放到D:\MATLAB\R2014b\toolbox路径下(这是我的安装路径,然后打开MATLAB,选择工具箱路径,如图:
这里写图片描述
选择,添加并包含子文件夹;
这里写图片描述
选择工具箱路径为:D:\MATLAB\R2014b\toolbox\toolbox_calib,
然后保存并关闭。
此时,将你采集到的图片放到D:\MATLAB\R2014b\toolbox\toolbox_calib目录下,像这样,这里写图片描述
注意上面的路径,待会出现的错误跟这有关。这时候回到MATLAB界面,输入命令,calib_gui
选择standard,出现如下窗口,点击Image name,出现如下错误,说在这个路径下没有图片,那我刚刚导进去十多张的是什么鬼?看了下其他大神的博客,并没有提到这个错误,自己琢磨了会,它说的路径是指MATLAB窗口下上方的路径,如图1所示:
这里写图片描述,将上述路径改为工具箱路径后,再次点击Image name,注意此时1位置的路径已经改成了工具箱所在路径,也就是图片所在路径。此时提示你输入Basename,因为我的图片全是以left开头的,所以我输入的是left,然后选择你对应的图片格式,听大神说,采集棋盘图的时候要注意,尽量让棋盘占据尽可能多的画面,这样可以得到更多有关摄像头畸变方面的信息

这里写图片描述
然后会显示读取到的结果如图
这里写图片描述
点击Extract grid corners,提取每幅图的角点,点击完成后出现如下界面
这里写图片描述
这里空着不填,然后让你填入窗口大小,这里有教程说可以不填,我没有填,直接enter,
然后会弹出第一幅图片让你用鼠标选定四个原点,
这里写图片描述
第一幅图片读完后,后让你输出每个矩形的实际宽与高,然后处完所有读入图片后,
点击工具箱上Calibration,然后会出现内参数结果。证标定结果无误之后,就点击面板上的Save按钮,程序会把标定结果放在一个叫Calib_Result.mat的文件中。为了后续方便将文件名字改写为Calib_Result_left.mat.

这里发现一个问题,至今没想出来,当内存选standard标准,标定到第三幅图时,出现如下界面,点击鼠标却没有出现角点的红色标记
这里写图片描述
选着memory efficient方式后正常,但我想不明白的是:明明我的内存有12G,也没有出现out of memory 的提示。这里相当困扰,还望有大神能够指点一二。

接下来,按照相同方法标定右摄像头,将结果保存为Calib_Result_right.mat.

2. 双目标定过程
首先将英文的教程奉上:
http://www.vision.caltech.edu/bouguetj/calib_doc/index.html#examples
拉到最下面,查看第五个例子就是。

退出上一个工具箱,在matlab中输入stereo_gui,出现如下界面,点击load left and right calibration files
这里写图片描述
然后再点击 Run stereo calibration ,这里出现了一个错误,如下图所示:


Disabling view 2 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 3 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 4 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 5 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 6 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 7 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 8 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 9 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 10 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 11 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information)
Disabling view 12 - Reason: the left and right images are found inconsistent (try help calib_stereo for more information

看问题描述是因为同一对图像左右不对应的原因,也就是说你采集图像是,棋盘图不能动,此时从左右摄像头各采集一副图片。(天,为什么这么重要的问题,没在一开始的时候说啊!!,得了,回去重新集采图片吧。)

好了,终于采完图,然后又重新做了一遍,在面板上点击Show Extrinsics of stereo rig,可以看到如下图所示的双摄像头关系图,由于没有支架,设备简陋,实在没办法保证两摄像头的起点在同一直线上。
这里写图片描述

  • 22
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
### 回答1: toolbox_calib-master是一个用于摄像机标定MATLAB工具箱,它包含了多个函数和脚本,可以用于摄像机内参和外参的标定,以及图像畸变校正等操作。该工具箱使用标定方法为张正友标定法,该方法有效地解决了摄像机成像时的畸变问题,能够提高摄像机的精度和稳定性,对于计算机视觉和机器人领域的应用具有重要意义。 通过toolbox_calib-master,用户可以通过输入一组已知的世界坐标和对应的图像坐标,标定出摄像机的内参和外参,包括相机的焦距、主点、畸变系数、旋转矩阵、平移向量等参数。同时,该工具箱还提供了一些辅助函数,可以用于验证标定结果的准确性,如重投影误差的计算和误差分析等。 除了标定操作,toolbox_calib-master还支持图像畸变校正和图像去畸变等操作,可以使摄像机成像更加真实,提高图像质量。此外,该工具箱使用也十分方便,用户只需要准备好标定所需的图像和参数设置文件,然后运行相应的脚本即可完成标定过程。 总之,toolbox_calib-master是一款实用性强,功能全面的MATLAB工具箱,它在计算机视觉和机器人领域的应用中具有重要作用。 ### 回答2: toolbox_calib-master是一个用于相机标定工具箱。相机标定是指确定相机的内部参数矩阵和外部参数矩阵,以便在图像处理中进行矫正和重建等操作。 toolbox_calib-master包含了很多的函数和工具来进行相机标定。其中最核心的函数是calib函数,用于执行标定过程calib函数需要使用标定板图像序列,通过检测标定板上的角点并计算标定板在世界坐标系下的坐标,从而得到相机的内参和外参。 除此之外,toolbox_calib-master还包括了许多辅助函数,如findcorner.m用于检测标定板上的角点,extrinsic.m用于计算外参矩阵,skew.m用于计算相机的非对称畸变等。这些函数的使用可以大大简化相机标定过程。 总之,toolbox_calib-master是一个非常实用的相机标定工具箱,可用于计算相机的内部和外部参数,为后续的图像处理提供准确的基础。 ### 回答3: toolbox_calib-master是一款开源的相机标定工具箱,可以帮助用户进行相机内外参数的标定。该工具箱的功能非常强大,可以准确地计算出相机的畸变参数、内参矩阵、外参参数和相机坐标系与世界坐标系的映射关系,从而实现对相机的几何校正,可以应用于机器视觉、机器人控制、3D重建等领域。 toolbox_calib-master采用了基于Matlab的GUI界面,便于用户进行参数的调整和可视化。用户只需要提供标定板的特征点图像序列和标定板的物理尺寸,再进行标定图像的选择和标记,即可得到相机的内外参数。该工具箱还支持不同标定板特征点的提取方法,并可以根据用户需求输出相应的标定结果。 同时,toolbox_calib-master还提供了丰富的功能扩展,如计算标定误差、处理非线性畸变等,可以满足用户在不同应用场景下的需求。该工具箱的源代码开放,支持用户进行二次开发和优化,具有广阔的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值