相机标定系列(三)利用matlab进行相机标定

相机标定系列(三)利用matlab进行相机标定

文章目录

  • 相机标定系列(三)利用matlab进行相机标定
  • 前言
  • 一、棋盘格图像的采集
  • 二、单目相机标定
  • 三、双目相机标定


前言

matlab的应用程序中含有对双目相机和单目相机的标定工具箱,能够获得相机的内、外参数以及畸变参数等。在理解了相机成像和单应矩阵的原理后,使用matlab应用程序对相机进行标定时理解起来会很轻松。

一、棋盘格图像的采集

1、棋盘格的来源:可以网上搜索棋盘格的图片,然后出来,把它贴在一个纸板上,作为标定板,注意纸板一定要平整。如果经常使用棋盘格,可以去网购一个相机标定板。
2、有了标定板,我们可以调整标定板对相机(单目或双目)的距离和角度,为标定板拍摄一些不同方向的图片,把这些图片放到一个文件中,双目相机的话,左右相机拍摄的图片分开放。 (这里建议相机保持不动,只调整标定板)

二、单目相机标定

注意:在单目相机标定过程中,默认情况下,世界坐标系和相机的相机坐标系是一致的。
在matlab的应用程序中找到Camera Calibration;

相机标定系列(三)利用matlab进行相机标定_第1张图片
进入Camera Calibration;
相机标定系列(三)利用matlab进行相机标定_第2张图片
选择add images,找到你放标定板图片的文件夹,把文件夹中所有的图片选中:
相机标定系列(三)利用matlab进行相机标定_第3张图片
点击打开:
相机标定系列(三)利用matlab进行相机标定_第4张图片
这里的25表示的棋盘格中一个格子的大小是25x25,我的棋盘格每个格子的大小为10x10,这里我会把25改成10,这个要根据你的棋盘格每个格子的大小自己进行修改。
点击确定:
相机标定系列(三)利用matlab进行相机标定_第5张图片
仔细检查左边添加的图片,剔除坐标轴X,Y轴表反或坐标原点选错的图片。
选择三阶切向畸变和斜切:
相机标定系列(三)利用matlab进行相机标定_第6张图片
点击Calibrate,进行相机标定:
相机标定系列(三)利用matlab进行相机标定_第7张图片
右上角是重建平均误差,只要平均误差小于0.5,就可以认为这是相机标定的结果是可靠的。
我们把相机参数导出来,点击 Export Camera Parameters:
相机标定系列(三)利用matlab进行相机标定_第8张图片
点击确定,就可以看到matlab工作区出现了相机参数:
相机标定系列(三)利用matlab进行相机标定_第9张图片
点开这个参数,就可以得到相机的各个参数,
相机标定系列(三)利用matlab进行相机标定_第10张图片
注意:这里得到相机的内参矩阵是被转置的,如果要得到真实的内参矩阵,需要对IntrinsicMatrix进行转置操作。

三、双目相机标定

注意:在双目相机标定过程中,默认情况下,世界坐标系和左相机的相机坐标系是一致的。
matlab中应用程序stereo camera calibrator是用来双目相机标定的,基本步骤和单目相机标定步骤相同,我这边就不做过多解释,直接上过程图了。
相机标定系列(三)利用matlab进行相机标定_第11张图片

相机标定系列(三)利用matlab进行相机标定_第12张图片
相机标定系列(三)利用matlab进行相机标定_第13张图片
相机标定系列(三)利用matlab进行相机标定_第14张图片
上图中,CameraParameters1为左相机的参数,CameraParameters2为右相机的参数。


如果您认可我的文章,希望能够关注我的微信公众号,我会不定期更新工作中学到的东西和一些技术比较前沿的东西。

相机标定系列(三)利用matlab进行相机标定_第15张图片
相机标定系列(三)利用matlab进行相机标定_第16张图片

你可能感兴趣的:(计算机视觉,matlab)