您的位置:首页 > 编程语言 > MATLAB

张正友标定、Camera Calibration Toolbox for Matlab

2016-11-22 10:10 1506 查看

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



(4)点击Image names

在Comand Window输入相应参数



然后会将棋盘图显示出来



(5)点击Extract grid corners

输入相应参数,建议将wintx和winty设置的小一点,个人觉得4or7是比较合适的。



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

按顺序选择四个角点



(7)所有角点

选择完4个焦点后,才命令窗口回车,选择默认的dx dy即可



最后的结果



在figure3中会显示提取的角点



(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



(11)点击Reproject on images



(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关闭。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: