使用matlab进行双目标定

参照之前的文章,拍好照片双目摄像头左右分别拍照 opencv_LYiiiiiii的博客-CSDN博客一、下载并打印棋盘格在下面的网站就可以下载不同大小的棋盘格,用打印机将其打印下来Calibration Checkerboard Collection | Mark Hedley Jones二、准备一个双目摄像头,我实在淘宝上面买的三、环境:C++、opencv库...https://blog.csdn.net/LYiiiiiii/article/details/121634731?spm=1001.2014.3001.5501

拍好照片之后,打开Matlab,使用 

 将app进行下拉 打开

也可以直接在命令行输入stereoCameraCalibrator,也可以打开这个应用。


之后 先添加照片,camera1添加左边的照片,camera2添加右边的照片。

并且将打钩的位置调为如图的样子

  1. 如果选择2Coefficients的话,结果的径向畸变只有k1,k2,主要用于普通相机;

  2. 如果选择3Coefficients的话,结果的径向畸变会有三项,主要用于鱼眼摄像机。

接下来就可以交给Matlab进行计算 

 

 生成结果如上图所示。

 从柱状图中挑出明显不符合的结果,右键点击相对应的照片,将其移出,Matlab会自动重新计算误差。


当误差可以接受的时候导出参数

 点击确定即可

导出结果如图

 

其中:

TranslationOfCamera2:相机2相对于相机1的偏移矩阵,可以直接使用。
RotationOfCamera2:相机2相对于相机1的旋转矩阵,需要转置之后才能使用。

CameraParameters1与CameraParameters2为左右摄像头的单独标定参数。CameraParameters1与CameraParameters2中包含如下文件:

  

IntrinsicMatrix存放的是摄像头的内参,只与摄像机的内部结构有关,需要先转置再使用。
RadialDistortion:径向畸变,摄像头由于光学透镜的特性使得成像存在着径向畸变,可由K1,K2,K3确定。
TangentialDistortion:切向畸变,由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数P1,P2确定。

使用时,需要注意参数的排放顺序,即K1,K2,P1,P2,K3。切记不可弄错,否则后续的立体匹配会出现很大的偏差。

由上述方法获得双目的标定参数后,就可以进一步进行双目校正、匹配以及生成深度图了

在这里插入图片描述

在这里插入图片描述

 具体说一下内参,内参是一个3x3的矩阵,双击matlab里面的值,得到的表格是这样的

在这里插入图片描述

这个表格里面和代码需要的数据要置换一下

fx 0cx
0fycy
001

在这里插入图片描述

以上内容引用了MATLAB标定后使用opencv双目测距 | 码农家园文章目录 前言一、什么是拍照测距?二、双目测距步骤1.双目标定2.测距 测试结果 前言 最近有项目需要用到摄像测距,于是开始接触opencv机器视觉。学了好几...https://www.codenong.com/cs110549798/ 

  • 8
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LYiiiiiii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值