标定板打印和单目相机使用MATLAB标定

相机标定板制作

https://calib.io/pages/camera-calibration-pattern-generator

可输入行和列格子数,我输入的为6×8,打印在A4纸上。约210mmx300mm 大小。棋盘格大小为120mmx160mm。棋盘格左下面还会输出 www.calib.io|6×8|Checker Size: 21.36 mm(游标卡尺实测纸上为20mm)

输出PDF,按实际大小打印后量尺寸是否正确或调整大小再打印,我的是生成20mm,打印出来为19mm,我通过几次调整,发现调整生成21.36mm,打印出来为20.00mm,在相机标定中需要输入格子尺寸大小,按量的尺寸输入即可。

OpenCV安装后也有标定板图片,但没有试着打印,因为不好调节大小,另外发现它长宽格子一样多,不好区分,就没有用如下的图片:

D:\work\cprj\opencv-3.4.16\samples\data\chessboard.png

使用MATLAB 进行相机标定方法

https://www.bilibili.com/video/BV1iW4y1F7nx/?spm_id_from=333.788.recommend_more_video.-1&vd_source=1b408658940de6c4f7f8c44949f19ad9

Add images (要求大小一致,我用手机拍了,又两种:3456像素和4608像素),导入3456像素的15张,reject了3张拍摄稍有不清楚的,结果如下:

image-20240527104146209

image-20240527104222473

选择参数:

image-20240527105747914

我下面的MATLAB版本为R2015a, 上面Bili教学的为R2020a,版本有点差异,下面缺少如相机模式的选择项。

选择径向好畸变参数为3个和选择是否计算切向畸变。

点击开始标定后

image-20240527111614948

删除重投影较大的图像

选中重投影较大的柱状图,找到对应图片,右击移除该图片,该步骤非必须。

image-20240527111733473

image-20240527112038352

点击Show Undistorted按钮,查看畸变矫正前后图像(我的版本没有,步骤略)

点击导出标定相机参数到工作区

image-20240527112642688

返回MATLAB主界面,找到相机参数

image-20240527112850634

主要参数:

image-20240527114020414

我的手机

image-20240527114444779

焦距(fx,fy)

主点(u0,v0)

径向畸变(k1,k2,k3)

切向畸变(p1,p2)

IntrinsicMatrix:

image-20240527114555518

注:MATLAB中的内参矩阵转置了,u0,v0由第3列变为第3行。

image-20240527115229625

保存相机参数

image-20240527115115186

matlab.mat

发布日期: 阅读量: 316
分类:未分类

发表评论