标定步骤

调出标定工具箱

在命令行输入stereoCameraCalibrator,出现如下界面:

勾选相应的选项

然后将上面的“Skew”、“Tangential Distortion”以及“3 Coefficients”等选项选上,将“2 Coefficients”选项去掉,如下:

载入图像

然后点击添加图像,出现如下界面:

Camera1代表左摄像头,Camera2代表右摄像头,分别选择存放着左右图像的文件夹,需要特别注意的是棋盘格的边长应该根据打印的实际大小填写,单位可以选择

然后点击OK,程序会自动检测采集的图像到底有多少可以使用,可以说MATLAB2015的这个工具十分挑剔,如果角度不好的话,将使用不了,因此在采集图像时,最好多的采集一些。(此处只是为了说明标定步骤,所以使用的图像较少)。

标定

点击按钮,开始标定:

校准

从下图可以看到,平均的标定误差以及标定过程中误差较大的的图像对。

点击选择不想接受的误差直方图,可以直接在左边的图像对中找到对应的图像,右键选择“Remove and Recalibrate”:

可以重复上述步骤,直到认为误差满足标定需求为止。

导出参数

点击选择Export camera parameters, 并点击“OK”。

参数读取

标定结束后,会得到如下标定参数:

CameraParameters1与CameraParameters2为左右摄像头的单独标定参数。

两个摄像头的平移和旋转参数

stereoParams.TranslationOfCamera2:相机2相对于相机1的偏移矩阵,可以直接使用。

stereoParams.RotationOfCamera2:相机2相对于相机1的旋转矩阵,需要转置之后才能使用。

摄像机内参矩阵

CameraParameters1与CameraParameters2中包含如下文件:

IntrinsicMatrix存放的是摄像头的内参,只与摄像机的内部结构有关,需要先转置再使用。

畸变参数

RadialDistortion:径向畸变,摄像头由于光学透镜的特性使得成像存在着径向畸变,可由K1,K2,K3确定。

TangentialDistortion:切向畸变,由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数P1,P2确定。

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

Matlab2015 双目相机自动标定的更多相关文章

  1. Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定!

    项目要标定雷达和相机,这里记录下我标定过程,用的速腾 Robosense - 16 线雷达和 ZED 双目相机. 一.编译安装 Autoware-1.10.0 我没有安装最新版本的 Autoware, ...

  2. 双目相机标定以及立体测距原理及OpenCV实现

    单目相机标定的目标是获取相机的内参和外参,内参(1/dx,1/dy,Cx,Cy,f)表征了相机的内部结构参数,外参是相机的旋转矩阵R和平移向量t.内参中dx和dy是相机单个感光单元芯片的长度和宽度,是 ...

  3. 干货 | LIDAR、ToF相机、双目相机如何科学选择?

    点击"计算机视觉life"关注,置顶更快接收消息! 本文阅读时间约5分钟 本文翻译自卡内基梅隆大学 Chris asteroid 三维视觉技术的选择 传感器参数及定义 LIDAR ...

  4. 基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头

    基于USB3.0的双目相机测试小结之CC1605配合CS5642  双目 500w摄像头 CC1605双目相机评估板可以配合使用柴草电子绝大多数摄像头应用 如:OV5640.OV5642.MT9P03 ...

  5. CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评

    CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...

  6. Halocn双目相机标定

    [Halcon]Halcon双目标定 相机标定(4)---基于halcon的双目立体视觉标定 双目立体视觉:四(双目标定matlab,图像校正,图像匹配,计算视差,disparity详解,) 双目测距 ...

  7. 关于udo3d双目相机的嵌入式板子系统重装

    遇到的问题: 1.下载压缩文件(.rar):在linux下下载一会就会停止 原因:linux下不支持.rar文件的下载,在windows下载即可 2.在windows下解压文件,结果为镜像文件(.im ...

  8. USB3.0之高速视频传输测试 双目相机(mt9p031、mt9m001)带宽高达300M测试 配合isensor测试 500万像素15fps

    最近完善了下USB3.0的视频开发测试,主要优化了FPGA程序和固件,及其同步方式.对带宽和图像效果进行了仔细的测试 开发板架构(2CMOS+FPGA+2DDR2+USB3.0) 评估板底板配合2个M ...

  9. 相机标定问题-Matlab & Py-Opencv

    一.相机标定基本理论 1.相机成像系统介绍 图中总共有4个坐标系: 图像坐标系:Op    坐标表示方法(u,v)                 Unit:Dots(个) 成像坐标系:Oi      ...

随机推荐

  1. fgets、gets和scanf的区别

    gets()从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中.换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字 ...

  2. Spring Bean定义的三种方式

    <!--Spring容器启动配置(web.xml文件)--> <context-param> <param-name>contextConfigLocation&l ...

  3. NetworkView

    [游戏Server中Server的类别] There are two common and proven approaches to structuring a network game which ...

  4. 认识WebRoot和WebContent目录

    1.webRoot是不需要加的,因为它是默认的JSP目录,完整的路径应该是:项目名/xxx.jsp,如果在webroot下边建立了文件夹abc,又在abc中建立了xxx.jsp那么此时的路径应为htt ...

  5. 13.JOIN

    SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据 CREATE TABLE IF NOT EXISTS zz0 (number INT(11)); CREATE TABLE ...

  6. Django框架 之 ORM中介模型

    Django框架 之 ORM中介模型 中介模型 处理类似搭配 pizza 和 topping 这样简单的多对多关系时,使用标准的ManyToManyField  就可以了.但是,有时你可能需要关联数据 ...

  7. Part8-不用内存怎么行_2440内存初始化lesson2

    1.2440地址空间 先去找PCB原理图,看CPU引出的内存地址线和数据线的宽度. 说明内存的其实地址是0x30000000为起始地址. 初始化内存其实是去初始化存储器控制器,只有初始化好这个存储器控 ...

  8. Responsive设计——meta标签

    media-queries.js(http://code.google.com/p/css3-mediaqueries-js/) respond.js(https://github.com/scott ...

  9. Java 之集合框架

  10. C++语法知识小结(持续更新中)

    1)在适用构造函数创建对象时,有时会创建临时对象.如 Stock::Stock(const std::string & co,long n,double pr); 在使用时,下面两条语句有根本 ...