基于MATLAB的双目相机标定

         基于双目视觉的测距、三维重建等过程中的第一步就是要进行标定,标定的精度对于整个双目系统性能的影响举足轻重。双目相机的标定过程在网上有很多资料,但是基本都没有matlab官方网址讲的好。所以请参考MATLAB官方文档:Using the Stereo Camera Calibrator App- MATLAB & Simulink- MathWorks 中国,这里面讲得已经相当详细了!

下面整理一下要点:

一、拍摄棋盘格

       为获得最佳效果,请使用至少10到20张包含校准图案的图像。 校准器至少需要三个图像。 尽量使用未压缩或压缩损失很小的图像格式(如png或bmp)。 为了更高的校准精度你需要:

  • 获取一部分你所关注的距离处的棋盘格图片,比如你要测量2米远的物体,那么请将棋盘放在距离相机2米左右的地方拍摄一部分图片

  • 棋盘表面和相机成像平面的夹角必须小于45度

  • 不要修改图像,比如对其进行剪切

  • 不要使用自动聚焦模式或改变图像的放大倍率

  • 以相对于相机的不同方向拍摄棋盘图像

  • 尽量采集各种不同的棋盘图像。镜头的畸变从图像中心径向增加,并且有时在图像各帧上表现不均匀, 为了获取图像的畸变信息,棋盘应当处在图像的各种不同边缘处

  • 确保棋盘图案在左右两幅图像中都能被完整的显示

  • 在每一对图像中尽量保持棋盘静止,也就是在同一时间拍摄。 若棋盘在两幅图像中发生了相对运动,会对标定精度产生负面影响

  • 若想对远距离的重建获得更高的精度,需要将两个相机的距离调整的更大。

二、提升标定精度

1.添加或删除图像

添加图像:

  • 少于10张图像

  • 棋盘没有覆盖足够的图像帧

  • 棋盘与相机的相对方向变化不够多

删除图像:

  • 删除具有较大重投影误差的图像

  • 图像太模糊的删除

  • 棋盘平面与相机平面夹角超过45度的删除

    2.将3 coeefficients、Tangential Distortion、Skew全部勾选

三、标定结果应用到OpenCV

        通过matlab标定后得到的旋转矩阵R和内参矩阵K,都需要转置以后才可以给OpenCV用,另外OpenCV畸变向量中前5个畸变系数的依次是:[k1, k2, p1, p2, k3]

Matlab双目相机标定是一种自动标定方式,用于对双目相机进行标定。标定的目的是确定相机的内参和外参参数,以便后续的视觉测量和三维重建等任务。 标定过程可以使用Matlab工具箱提供的标定工具进行。首先,需要拍摄一组已知的标定板图像,这些图像需要包含不同的角度和位置。然后,使用Matlab工具箱中的标定工具,对这些图像进行处理。 具体的标定细节可以参考相关的博客或文档。一篇推荐的博客是"matlab双目标定(详细过程)",其中详细介绍了基于Matlab工具箱的自动标定方式和相关细节。 在进行标定之前,需要确保使用的Matlab版本是可用的,建议使用Matlab2020a版本,因为Matlab2020b版本在测试中无法正常使用标定工具箱。 对于一些出厂时已经完成标定的双目相机,例如Intel Realsense系列,用户可以直接使用,无需进行额外的标定。但对于一些出厂时未完成标定的相机,需要用户自己来进行标定。 标定完成后,可以将标定结果导出,并将相机参数应用于双目相机的配置文件中。 总结起来,Matlab双目相机标定是一种自动标定方式,通过拍摄已知的标定板图像并使用Matlab工具箱进行处理,确定相机的内参和外参参数。标定的细节可以参考相关的博客或文档,并将标定结果应用于双目相机的配置文件中。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值