基于MATLAB的单目摄像机标定

1、前言

最近接触了摄像机标定实验,感觉还挺有意思,操作也不难,因此借此篇文章记录分享一下怎么使用MATLAB工具箱进行单目摄像机标定。

2.准备工作

这里我们是基于MATLAB的单目摄像机标定,因此需要用到MATLAB环境,这里我使用的是MATLAB R2017a版本。本次实验还需要用到下图中的工具箱toolbox-calib。
百度网盘下载链接:工具箱
提取码:vinc
在这里插入图片描述
我这里使用MATLAB2017版本,其他版本应该也都兼容这个工具箱,所以大家自行下载操作就可以。

3.标定过程

1.标定准备阶段

1、下载好工具箱之后,可以将其解压到任何一个固定的位置,我这里解压放在matlab的文件夹里面。
在这里插入图片描述
2、打开matlab后,点击设置路径
在这里插入图片描述
3、添加工具包文件
点击添加文件夹,此时找到TOOLBOX_calib这个文件夹,然后将文件添加进去,最后保存关闭。
在这里插入图片描述
4、导入标定图片
这里我将需要标定的图片存在D盘的JQimage_R这个文件里面,然后打开matlab之后,将文件目录点位到要标定的图片集目录下面。如下图:
在这里插入图片描述

2.标定操作步骤

1、以上操作完成后,此时在命令行输入calib,就会弹出标定的界面,该界面有两个选项,我选择的是第一个(差别不大,区别就是括号里的意思)。
在这里插入图片描述
2、点击以上选项之后,就会出现下面图一所示窗口,然后点击下面箭头指向的选项,就会出现图二箭头指向的信息,这行信息是要求输入图片的名字,从上面导入的标定图片可以看到我这里图片名都是Image,输入之后回车,就会出现另一方信息,这是让输入图片格式的,我这里格式都是tif。
在这里插入图片描述在这里插入图片描述
3、接下来,选择以下图一所示读取图片选项框,然后读取图片后会弹出如下图二预览图片框。
在这里插入图片描述
在这里插入图片描述
4、然后我们直接点击第三个选项框进行角点提取,点击之后命令提示行就会出现对图片进行处理,括号里面是默认全部,因此我们这里就默认,敲回车就可以。回车之后,就会出现角窗选取,我这个版本角窗默认是5X5的,可以先拿默认的操作。我这里是拿默认的角窗大小进行操作的。后面存在误差时,再进行误差校正。因此这里面就都进行回车就可以。
在这里插入图片描述
5、接着上述操作后就会弹出图片框,此时鼠标就会变成一个黑色十字标,尽量把这个界面全屏进行操作,提高角点标定的精准度。这是第一张图片角点提取,按顺时针或者逆时针顺序对次外层角点进行依次提取。提取结束之后回车,继续提取下一张图片,以此类推将所有图片都提取完成。
在这里插入图片描述
我这里是20张图片,此时提取完成后,命令提示行显示如下:
在这里插入图片描述
6、提取完成之后,进行标定,点击以下图一选项框开始标定(点击之后,就不用管,会自动进行标定并得到数据)。自动标定结束之后就会出现图二的相关数据以及误差。
在这里插入图片描述
在这里插入图片描述
7、由以上操作6中的图二中数据可知存在误差的大小,接下来就需要进行误差分析啦!点击以下选项。
在这里插入图片描述
然后就会出现如下图所示的数据分析图:

在这里插入图片描述

此时我们可以看出粉红色和绿色的分布误差很大,不集中,此时用十字叉去任意点击一个粉红色或者一个绿色的加号(不管点击谁,后面都要依次对这些误差大的图片,进行再次提取标定),然后命令行就会出现相应图片号码以及具体错误量。这里我点击了粉红色的。
在这里插入图片描述
8、此时先点击以下选项将前面得到的数据保存。只有保存后才能更好的继续下面的操作。
在这里插入图片描述

3.误差分析调整

1、紧接着上述操作然后我们点击重新提取选项框,对粉红色的18号图片重新进行提取。
在这里插入图片描述
之前角窗是默认的5x5的,这里设置为6x6。回车后输入图片号,然后后面一行随便输入一个值。

在这里插入图片描述
2、重新提取然后标定后,点击分析,可以发现粉红色的分布稍微有一点变化,但变化不大,说明还存在一定误差。然后这里我有反复粉红色进行重复标定,可是如下图所示还是很发散,然后我们就先再去修正重新标定其他图片。记住每次标定结束后需要保存一下之前数据哈~
在这里插入图片描述
3、此时再重复提取标定另一个图片,然后尝试将误差err减小。这里我是对绿色15号图片进行重复提取标定的结果。明显可以看出绿色的标收敛了很多。
在这里插入图片描述
4、就这样依次对上面分散的图片进行重新提取标定,后来我又对粉红色进行了多次重现提取标定,得到如下图所示:
在这里插入图片描述
在这里插入图片描述
5、此时你会发现,用不同的数据反反复复标定,始终粉红色是发散的无法聚集,此时我们可以将这个误差很大的图片删除处理。
在这里插入图片描述
这里输入需要删除的图片号。
在这里插入图片描述
删除之后分析得到数据如下:
在这里插入图片描述
此时误差也减少很多:
在这里插入图片描述
6、此时点击以下选项框,外参就以3D的形式显示出来。
在这里插入图片描述
外参3D显示图:
在这里插入图片描述
7、点击以下选项框查看相关数据:
在这里插入图片描述

4、结语

本篇文章是对自己做实验的一次记录,可能实验结果误差很大,因为手动标定可能不是很细节,但是整体摄像机单目标定操作流程如此所示。
如有存在不足之处,还请指正!

以上操作环境为 MATLAB R2017a哈~

猜你喜欢

转载自blog.csdn.net/m0_56817529/article/details/127819167