因公司使用hisi59C芯片,要实现双目深度图功能,实现之前需先产生左右两个标定文件,所以在此记录下matlab标定双目图片过程。
1.下载工具
网上有一个可以下载并且是破解版的matlab

2.按照步骤下载安装完工具后,还需下载标定文件toolbox_calib
http://www.vision.caltech.edu/bouguetj/calib_doc/ 下载完毕之后放在安装目录下
C:\Program Files\MATLAB\R2016a\toolbox
就可以了

3.打开matlab,添加toolbox_calib文件

matlab标定板检测和opencv的不同 matlab标定图生成_matlab


4.把路径切换到toolbox_calib/图片文件夹路径,把相应图片放入这个文件下

matlab标定板检测和opencv的不同 matlab标定图生成_单目_02


5.导入预先拍好的棋盘格左右图片**(双目的话必须是对应左右图片,要不然后面双目标定会出错,单目的话,则不需要)**,输入calib_gui,则会弹出标定相关的菜单目录,选择红框按钮菜单

matlab标定板检测和opencv的不同 matlab标定图生成_深度图_03

6.弹出标定主要菜单

matlab标定板检测和opencv的不同 matlab标定图生成_matlab_04


常用的几个菜单按钮定义

1)Image names:把图片读取进来

2)Extract grid comers:开始标定棋盘格文件,直到最后一个文件

3)Calibration:matlab自校准,校准标定

4)Show Extrinsic:显示图片于摄像机的位置

5)Analyse error: 显示校准点7.点击Image names,导入图片

matlab标定板检测和opencv的不同 matlab标定图生成_双目_05

  1. Basename camera calibration images (without number nor suffix): >>输入图片匹配名称
  2. Image format: ([]=‘r’=‘ras’, ‘b’=‘bmp’, ‘t’=‘tif’, ‘p’=‘pgm’, ‘j’=‘jpg’, ‘m’=‘ppm’) j:输入图片格式类型
    成功之后会弹出所有匹配的图片列表Figure 2
    把我同事帅气的脸庞遮住【偷笑】

8.接下来选择Extract grid comers,标定文件并输入相应标定参数

matlab标定板检测和opencv的不同 matlab标定图生成_双目_06

  1. Number(s) of image(s) to process ([] = all images) = >>是否标定全部图片
  2. Window size for corner finder (wintx and winty):
    wintx ([] = 10) = >> 标定的点像素大小
    剩下的默认enter就行

9.标定棋盘格,顺时针或逆时针方向标定就可以,一直标定到最后。标定时,最好把窗口放到最大,这样校准率比较高

matlab标定板检测和opencv的不同 matlab标定图生成_matlab_07


四个角标定完成之后,matlab会让你填入相应标定参数

1) Size dX of each square along the X direction ([]=100mm) =

Size dY of each square along the Y direction ([]=100mm) = 你的棋盘格大小,用尺子去量,我这里用的30mm10.到这里之后,会弹出标定图片结果

matlab标定板检测和opencv的不同 matlab标定图生成_深度图_08


1)Need of an initial guess for distortion? ([]=no, other=yes) 对标定结果是否满意,默认enter是ok

接下来按照一样的方式去标定每一张棋盘格图片就可以了,标定结束之后会产生最后的标定结果图,如下所示:

matlab标定板检测和opencv的不同 matlab标定图生成_单目_09

11.执行Calibration校准,执行成功后会生成一个校准文件

matlab标定板检测和opencv的不同 matlab标定图生成_深度图_10


接着点击Save就会产生最终的.mat文件

matlab标定板检测和opencv的不同 matlab标定图生成_双目_11


此时Calib_Results.mat命名为Calib_Results_left.mat,左摄像头标定完成,以同样的方式标定右摄像头,并命名为Calib_Results_right.mat即可。最后,

根据得出的Calib_Results_left.mat,Calib_Results_right.mat标定双目

1.命令行窗口敲入stereo_gui打开双目标定菜单

matlab标定板检测和opencv的不同 matlab标定图生成_Image_12

2.选择Load left and right calibration files,加载左右标定的.mat文件

3.选择Run stereo calibration校准文件,最后选择Save stereo calib result,产生最终结果文件。

matlab标定板检测和opencv的不同 matlab标定图生成_单目_13