张正友标定、Camera Calibration Toolbox for Matlab

0.引言

张正友标定的原理我虽然已经看了N遍了,但这并不是本文的重点。本文只是讲述如何通过棋盘进行标定获得相机内外参数,以便用于后续的工作中。

1.标定

标定过程走了不少弯路,最后选择了Camera Calibration Toolbox for Matlab,方便适用。

1.1下载

Camera Calibration Toolbox for Matlab下载地址:http://www.vision.caltech.edu/bouguetj/calib_doc/#examples, 解压后即可使用。
棋盘图来自KITTI:http://www.cvlibs.net/datasets/kitti/raw_data.php?type=calibration

1.2标定

(1)将棋盘图复制到Toolbox文件夹内(.m和棋盘图在同一文件夹),

(2)在命令行中输入calib_gui

这里写图片描述

(3)选择Standard

张正友标定、Camera Calibration Toolbox for Matlab_第1张图片

(4)点击Image names

在Comand Window输入相应参数
张正友标定、Camera Calibration Toolbox for Matlab_第2张图片
然后会将棋盘图显示出来
张正友标定、Camera Calibration Toolbox for Matlab_第3张图片

(5)点击Extract grid corners

输入相应参数,建议将wintx和winty设置的小一点,个人觉得4or7是比较合适的。
张正友标定、Camera Calibration Toolbox for Matlab_第4张图片

(6)提取第一张图的角点

按顺序选择四个角点
张正友标定、Camera Calibration Toolbox for Matlab_第5张图片

(7)所有角点

选择完4个焦点后,才命令窗口回车,选择默认的dx dy即可
张正友标定、Camera Calibration Toolbox for Matlab_第6张图片
最后的结果
张正友标定、Camera Calibration Toolbox for Matlab_第7张图片
在figure3中会显示提取的角点
张正友标定、Camera Calibration Toolbox for Matlab_第8张图片

(8)提取第二张图的角点

在command window一路回车,提取第二个图片的焦点。

(9)点击Calibration

标定结果:

Calibration results after optimization (with uncertainties):

Focal Length:          fc = [ 963.55945   975.44857 ] +/- [ 19.81826   18.59705 ]
Principal point:       cc = [ 618.56822   161.13478 ] +/- [ 52.57115   56.86154 ]
Skew:             alpha_c = [ 0.00000 ] +/- [ 0.00000  ]   => angle of pixel axes = 90.00000 +/- 0.00000 degrees
Distortion:            kc = [ -0.30606   0.08656   0.00278   0.00502  0.00000 ] +/- [ 0.01789   0.01794   0.00267   0.00495  0.00000 ]
Pixel error:          err = [ 0.08992   0.11761 ]

这样我们就获得了相机的内外参数,就可以进行后续的一系列工作了。

(10)点击Show Extrinsic

张正友标定、Camera Calibration Toolbox for Matlab_第9张图片

(11)点击Reproject on images

张正友标定、Camera Calibration Toolbox for Matlab_第10张图片

(12)点击Save保存标定结果

验证标定结果无误之后,就点击面板上的Save按钮,程序会把标定结果放在一个叫Calib_Result.mat中。

问题:提取完第一张图、第二张图后,提取第三张图的角点时,往往会出现不能Click on the four extreme corners of the rectangular complete pattern (the first clicked corner is the origin)…此时点击棋盘图不会出现红框,无法选择角点。
解决:提取完一张棋盘图后,会显示figure3,提取下一张图的时候之前先把figure3关闭。

你可能感兴趣的:(【图像处理】,图像处理)