目录
3 matlab单目相机标定
3.1 环境配置
参考文章:https://www.cnblogs.com/Sandals-little/p/17035625.html
(1)主页 -> 附加功能 -> 获取附加功能
(2)搜索图像处理和计算机视觉,安装Computer Vision Toolbox或者Image Processing Toolbox任意一个(因为安装其中一个另外一个也附带着安装了)
(3)接下来是在网站上下载工具箱的安装包这个下载的是TOOLBOX CALIB 工具箱
(外网下载速度较慢,已经下载好的文件链接https://download.csdn.net/download/qq_41921826/87564342)
(4)找到文件夹
(5)解压到R2022b目录下(D:\Progeam Files\MATLABb\toolbox)
(6)接下来打开matlab,设置环境路径,保存设置。
(7) 保存设置
3.2 matlab单目相机标定
(1)转入到calib_example文件夹下。(下载链接:https://download.csdn.net/download/qq_41921826/87564340)
(2)运行calib_gui,在弹出界面中选择
- Standard为标准模式:会将所有图一并读入。
- Memory Efficient模式:会逐张读入从而节省内存。不过以当前电脑的配置,很少会出现内存不足的情况。
(3)点击标定工具窗口中的 Image names 按钮。
输入标定图像的基名和图像的格式, 载入完图像之后的图像如下:(例如标定图像的名称为 Image1.tif, 基名就是Image 图像格式就是tif。标定图像读入后,其对应的变量名分别是I_1,I_2,图像数量为n_ima。
(4)输入Image,输入图片格式tif。
(5)点击Extract grid corners,按提示输入角点检测信息,默认回车。
- 角点提取程序是从该窗口中提取角点的,因此窗口大小和分辨率存在一定关系,当图片分辨率较大时,可以使用更大的窗口。
- 当选择自动方块计数时,程序会自动判断出两个方向中角点的数目,如果图片存在较大畸变,可以选择手动输入
(6)在弹出图片中按照顺序点击各个角点的位置,注意不要出现太多偏差
(7)输入两个方向棋盘格格子的物理尺寸。程序会显示推测的角点位置,并询问预估角点是否接近,在畸变不大的情况下都是满足的,选择默认值后会弹出角点检测的结果和下一张图片,重复以上操作即可。
(8)得到检测结果
(9) 运行 Calibration,我们可以看到其迭代了22次后收敛,得到最终预测参数。
(10) 标定结果可视化
- 可以选择 reproject on images 来可视化每张图的重投影误差
显示的结果不太好,误差分布非常广。这主要是角点检测的精度导致的,我们可以选
择 Recomp.corners 来重新计算角点后再调用 Calibratin
- 标定完成后我们可以使用 Show Extrinsic 来可视化相机和各个棋盘格之间的关系
- 也可以修改视图关系,选择右下角的 Switch to world-centered view 来切换至棋盘格/世界坐标系。
(11)保存并输出去畸变后的效果图,去畸变后弧线变成了直线。