基于MATLAB的双目视差计算效果与三维坐标准确度效果验证平台
花了一天半时间,做了一个基于matlab的双目匹配 与三维坐标准确度的验证演示平台。发个图庆祝一下 。
这个平台的数据流程是这样的。
(1)matlab 标定工具箱 对图片进行标定,得到标定结果。
(2)标定结果以yml文件的形式导入opencv计算视差图,再把视差图导出为文本。关于视差图,要说明的是由于视差是以Mat格式存放的,要取出其中的值稍微有点繁琐。
视差图 Mat disp
定义CvMat
CvMat data;
data=disp;
取出视差数据 dis=data.data.s;
(3)opencv产生的校正图也保存下来,为以后验证左右图的像素点之间的匹配关系做准备。
(4)利用matlab的标定工具箱,把左相机拍摄图片的校正图中所有棋盘顶点(在我的图片中,有8*11=88个)的像素坐标提取出来
(5)在matlab中,利用如下代码,取出所有棋盘顶点的三维坐标,这个坐标由于是标定得到的,可以认为是准确值,用来与依据双目测距原理得到的三维坐标进行比较。
(6)有了前五步的结果,利用如下的公式计算棋盘顶点的三维坐标
(7)利用matlab的GUI制作演示平台