zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定

1.简介

 这篇只介绍怎么使用matlab工具进行双目标定,准备工作:

        怎么获取双目图片,请参考我的 zynq SD卡写入摄像头图像(图片格式);

        怎么自己制作高清标定板,请见 高精度标定板的制作;

 matlab是个强大的工具,集合很多强大的功能,使得很多事情变得简单。双目标定是个极其繁琐的事情,matlab提供app程序,这是软件自动识别标定,标定误差比较大,但是节省很多时间,但是我建议使用matlab 的工具箱 toolbox_calib,本篇博客也是介绍这个,百度云链接:工具箱

提取码:svw0  

2.准备

       1) 我使用matlab2018版本,其他版本应该都兼容这个工具箱。下载好工具箱,解压后放到固定位置,比如我放在matlab安装目录下。
 

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第1张图片

        2) 打开matlab,默认应该在主页下面,版本可能不一样有变化,但是都是在 设置路径 下面

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第2张图片

       3)点击设置路径后弹出左边框,点击添加文件夹,别点第二个,定位工具箱的路径。单击TOOLBOX_calib这个文件夹,下面显示文件名后,点击添加文件夹,最后要点击保存。准备工作就完事儿了,很简单。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第3张图片

3.双目标定 

    使用工具箱进行标定需要分别对左右两个摄像头单独进行标定,得到标定左右摄像头的数据(内参和外参),最后再启动双目标定导入之前单目标定数据得到双目的数据(旋转和平移)。接下来以有摄像头标定为例进行演示:

   1)启动matlab,将文件目录点位到要标定的图片集目录下。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第4张图片

 2)在命令行输入 calib ,弹出下面标定的gui界面,有两个选项,我都试过差别不大,区别就是他括号里的意思,我选择第1个。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第5张图片

    3)点击 红色框,命令行出现青色框和蓝色框信息,蓝色框要求输入图片名(不要包含数字和后缀名)。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第6张图片

    4)如图,按照我这个方式输入文件名,然后提示要求输入图片格式,我的是.bmp,按要求输入 b ,打印信息说明成功读取到图片,弹出所有图片预览图。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第7张图片

 

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第8张图片

    5)如图,我们直接点击第3个 红色框进行角点提取,第2个选项,就是读一下图片,这个步骤在第1不结束时,他自动已经读入,没必要再点击。点完第3个选项后,命令行提示 那个图片进行处理,他括号提示说 默认全部,我们肯定要标定全部,所以回车就行。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第9张图片

     6)都选择默认,默认角窗是6x6,比较合适,后面查看标定误差分析,再来针对特定图片进行特殊修改。最后会弹出图片框,鼠标也是一个黑色十字光标,建议把这个图片框全屏再进行操作,提高精准度。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第10张图片

    7)依次点击外围角点

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第11张图片

    8)点击完4个角点后,命令行提示输入每个方格边长(这个就在第一张图片才会需要输入),默认的是100mm),我的方格大小为55mm。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第12张图片

    9)输入完后,图片自动提取角点,命令行又提示 需不需要输入失真预估值。明显能看到自动十字不在角点上,但是不用输入,后面观察标定结果再来对特定图片进行标定,这样节约时间。回车弹出新的图片进行角点提取,步骤一样,直到所有图片都都提取完。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第13张图片

    10)最后显示done表示所有图片都提取完成了。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第14张图片

    11)点击第4选项,进行标定,命令行就会打印标定结果(蓝框中),可以看出err比较大,下面进行细致标定。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第15张图片

     12)先保存,才能进行

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第16张图片

     13)点击 误差分析,弹出重投影表,可以看出,红色的很离散,用十字点击一个红色小十字,命令行打印相应图片号以及具体错误量。现在对这张图片进行细致的标定。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第17张图片

      14)点击重新提取角点,现在我们把角点框范围设置为8x8,之前默认的是6x6,回车后输入图片号,回车后不要默认回车,随便输入进行手动再次角点提取。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第18张图片

    15)还是默认回车,显示done就标定完成。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第19张图片

     16)点击标定,err显示小很多了,点击保存。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第20张图片

 

     17)点击误差分析,可以明显看出红色聚敛了,但是绿色有问题,按上面的步骤对这个图片再次标定。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第21张图片

     18)现在看还可以,但是误差还在挺大,我们对这几幅图片进行更加细致的标定。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第22张图片

    19)角点框默认就行,最下面不要默认,输入预失真值提高准确率。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第23张图片

    20)预失真值不稳定,有时候输入负几十,有时负几,还有负小数,自己多次调整,知道图片上的十字落到角点上,就可以了。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第24张图片

    21)输入其他值就可以退出,显示done后,点击标定,看看标志结果,

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第25张图片

    22)多次尝试修改都没改善,差不多到极限了,想要提高精度,只有删除这些误差比较大的图片,或者重新进行标定,十字偏差大的输入预失真值,这样尝试。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第26张图片

     23)这是我重新标定的结果,误差小很多,fc和cc值与左摄像头标定值相近,说明没问题了。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第27张图片

     24)点击输出无畸变图像,方便以后自己做畸变矫正算法结果对比。默认回车 生成所有图像的无畸变图像。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第28张图片

 

     25)工程目录下,多了很多文件,红框中的就是双目标定需要的,其他的也别删。左摄像头也按这个流程做,得到这个文件。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第29张图片

     26)将左右摄像头标定的.mat文件考到上一层目录,并且要重命名,如图所示。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第30张图片

    27)命令行输入 stereo_gui,弹出框点击第一个,如果命名和默认一样,就默认回车就行

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第31张图片

   28)自动打印双目标定信息,都不用点击run。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第32张图片

       29)但是 还是要点击第二选项,run一下,然后才能保存。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第33张图片

30)查看双目标定模型

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第34张图片

    31)考一组图片过来,点击校正图像,生成校正图。

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第35张图片

zynq FPGA 的双目视觉毕业设计(三)之MATLAB 双目摄像头标定_第36张图片

4.到这里双目标定完成了,后面进行matlab畸变矫正和几何极限矫正的算法仿真。同时对这些参数进行解释以及怎么使用。

你可能感兴趣的:(双目视觉,毕业设计)