计算机视觉
图像处理

张正友标定: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

这里写图片描述

(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关闭。

转载注明来源:CV视觉网 » 张正友标定:Camera Calibration Toolbox for Matlab

分享到:更多 ()
扫描二维码,给作者 打赏
pay_weixinpay_weixin

请选择你看完该文章的感受:

0不错 0超赞 0无聊 0扯淡 0不解 0路过

评论 抢沙发

评论前必须登录!