MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]环境MATLABR2014a+windows764位1.单目摄像机标定(1)首先把解压的TOOLBOX_calib文件夹的路径设置到MATLAB里,在主页->环境->设置路径->选择工具箱路径,如图:然后保存,关闭(2)此时,将你采集到的图片放到工具箱以外的文件夹中,在MATLAB中打开,如图:注意上面的路径,必须选择图像所在的文件夹,不然下一步会出现错误“Noimage…

大家好,又见面了,我是你们的朋友全栈君。

环境MATLAB R2014a+windows7 64位

1.单目摄像机标定

(1)首先把解压的TOOLBOX_calib文件夹的路径设置到MATLAB里,在主页->环境->设置路径->选择工具箱路径,如图:MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

然后保存,关闭

(2)此时,将你采集到的图片放到工具箱以外的文件夹中,在MATLAB中打开,如图:MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

注意上面的路径,必须选择图像所在的文件夹,不然下一步会出现错误“No image in this directory in either ras, bmp, tif, pgm, ppm or jpg format. Change directory and try again.”跟这有关。

(3)回到MATLAB界面,输入命令,calib_gui 

选择standard,出现如下窗口,如图所示:

 MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

(4)点击Image name,出现

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

此时提示你输入Basename,Basename就是你的所有图片的名字中相同的部分,例如我的图片Basename就是image2_

然后按照要求输入图片格式,例如我的图片是JPG格式就输入“j”

回车,图片就读入到了MATLAB里,出现所有图片的缩略图,如图

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

(5)点击Extract grid corners,提取每幅图的角点,点击完成后出现如下界面 MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

直接回车(没有参数)选择所有的图像,否则就需要输入图像索引如[2 5 8 10 12]来提取这些图像中的角点。然后通过直接输入“Enter”来选择默认的角点寻找窗口尺寸:wintx=winty=5。这就产生了一个11X11个像素有效的窗口尺寸,角点提取引擎有一个对网格中的方格个数进行计数的自动机制。这个工具尤其对于图像数量大的时候非常便利,因为用户不需要手工地输入X和Y方向方格的数量。所以也可以直接回车(没有参数),然后第一张标定图像就会显示出来,如图

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

(6)点击长方形棋盘格的四个边角点。选择的位置在下图中显示出来(注意:尽量精确地点击这四个角点,控制在实际角点的5个像素范围内,否则一些角点可能会被检测器丢失掉)。

点击的顺序规则:第一个点被用来作为棋盘格坐标系的原点。其他三个点可以以任何顺序点击。第一个点击的的点非常重要,尤其是对于多相机的情况(例如当计算几个相机在空间之间的相互关系的时候)。当处理多相机系统时对于不同的相机标定图像需要总是选择同一个棋盘格坐标系。

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

(7)经过上面的步骤之后,标定棋盘的边界就显示出来了:输入网格中每个方格在X和Y方向上的尺寸dX和dY(在这里,dX=dY=30mm=defaultvalues)(要根据自己的棋盘做调整),例如我的棋盘设置为28mm的正方形。程序会自动对各个方向的方格数进行计数,然后在显示出没有畸变的预估角点。如图

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

角点以大约0.1个像素的精度被提取出来。对第2、3、4…图像采用上述同样的步骤。

(8)在角点提取完之后,就可以单击标定工具箱面板上的“Calibration”来运行主要的相机标定程序。标定主要通过两个步骤来完成:初次初始化以及非线性优化。

初始化步骤中对标定参数进行闭环计算,这个过程不包括任何镜头畸变(程序名:init_calib_param.m

非线性优化过程中将对所有的标定参数最小化总体映射误差(从最小二乘的角度出发)(9个内参以及6X20=129个外参)。优化是对特定雅可比矩阵进行计算然后往梯度下降的方向进行的。下图为非线性优化的结果:

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

从上图中我们可以注意到:为了达到最小值,只用了15次梯度迭代。这就意味着只有15次对映射函数、雅可比计算

以及求逆的评估。快速收敛的一个原因就是初始化程序所要计算的参数的有一个好的初始预估值。

现在,忽略推荐的可以减少畸变的模型的系统。对一个模型的复杂性进行判断的映射误差仍然很大。这主要是因为

对于一些图像一些网格角点并没有被精确地提取。

 

(9)单击面板上的“Reproject on images”来将网格角点映射到原始图像中。这些映射是基于当前的内参和外参计算

出来的。输入一个空字符(直接按”Enter”)作为“Number(s) of image(s) to show([]=all images)”来

表示你想查看所有图像,下面的图像显示了最初的四张检测到的角点的图像(叉)以及映射的网格角点(圆)。

映射误差也以有颜色的叉叉显示在图中:

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

(10)在面板中单击“ShowExtrinsic”。外参(棋盘格相对于相机的相对位置)就以3D的形式显示出来了:

MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

(11)工具“Analyseerror”允许你去检查哪个点对应大的误差。单击“Analyse error”并且选择图像由上角的那个点。

退出误差分析工具,在图像上的任何位置右击。MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

单击选中之后,下面的信息就会出现在命令行窗口:这就意味着对应的点在第9张图像中,在标定板网格坐标的(3,4)的位置。

(12)单击“Save”保存标定结果(内参和外参)到matlab文件“Calib_Results.mat”

双目标定见MATLAB 相机标定(双目)使用工具箱TOOLBOX_calib – CSDN博客

https://blog.csdn.net/panpan_jiang1/article/details/80420735


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142938.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 详解贝叶斯学派与频率学派的区别和联系

    详解贝叶斯学派与频率学派的区别和联系大家好,我是东哥。要说贝叶斯和频率学派,那简直太有意思了。为什么这么说呢?因为两个学派的理解对于我来说真的是一场持久战。我是在学习机器学习的时候接触到的这两个学派,此前并不知道,当时就被深深吸引了,于是找了各种资料学习下来,说实话感觉有点懂了,但又感觉没理解透。后面我一直是带着这种似懂非懂的状态继续肝机器学习。但随着不断深入学习我发现很多理论其实都有出现两个学派的身影,而且在模型算法层面结合两派不断琢磨对我的理解有了很大帮助,经常有茅塞顿开的感觉(那段日子真的进步的飞起)。虽说我有点笨,但好在经过时间

    2022年6月2日
    78
  • 爬虫框架Scrapy安装

    爬虫框架Scrapy安装免责声明:本文所记录的技术手段及实现过程,仅作为爬虫技术学习使用,不对任何人完全或部分地依据本文的全部或部分内容从事的任何事情和因其任何作为或不作为造成的后果承担任何责任。Scrapy爬虫框架用Python编写的功能强大,应用范围最广,最流行的爬虫框架,框架提供了大量的爬虫相关的组件,能够方便快捷的完成各网站的爬取。01Scrapy安装打开scrapy官方网站【scrapy.org】,目前最新版本为2.5:按照官方提供的脚本,在命令行执行安装:pipinst..

    2022年9月18日
    0
  • FPN(特征图金字塔网络)理论基础与具体实现

    FPN(特征图金字塔网络)理论基础与具体实现论文地址:FeaturePyramidNetworksforObjectDetection项目地址:FPN_pytorch0x00前言我们在做目标检测和超分辨率重建等问题的时候,我们一般是对同一个尺寸的图片进行网络训练。我们希望我们的网络能够适应更多尺寸的图片,我们传统的做法使用图像金字塔,但是这种做法从侧面提升了计算的复杂度,我们希望可以改善这个问题,所以本文就提出了…

    2022年6月9日
    49
  • Windows 强制删除文件及文件夹命令「建议收藏」

    Windows 强制删除文件及文件夹命令「建议收藏」一、删除文件或目录CMD命令rd/s/q盘符:\某个文件夹  (强制删除文件文件夹和文件夹内所有文件)del/f/s/q盘符:\文件名  (强制删除文件,文件名必须加文件后缀名)二、删除文件或目录BAT命令1、新建.BAT批处理文件输入如下命令,然后将要删除的文件拖放到批处理文件图标上即可删除。DEL/F/A/Q RD/S/Q …

    2022年6月1日
    46
  • ▲ Android 常用购物车常用样式(单商家/多商家)功能实现

    ▲ Android 常用购物车常用样式(单商家/多商家)功能实现

    2021年3月12日
    175
  • 《微信小程序开发实战》课后题「建议收藏」

    《微信小程序开发实战》课后题「建议收藏」《微信小程序开发实战》课后题

    2022年10月24日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号