相机标定:Matlab标定工具箱使用要点

1.单目标定


1.核心步骤

(1)获得标定数据:<Images_names>, <Read images>, <Extract grid corners>

1)输入数据:源图像序列(必选)、棋盘格数量(可选)、棋盘格尺寸(必选)

2)读入图像:输入图像基名和图像扩展名

3)提取角点:对每幅图像依次执行,若对提取的角点不满意则输入可能畸变参数(值在-1~1之间)后重新提取直到满意为止

(2)执行初次标定:<Calibration>, <Save>, <Analyse error>

1)执行标定

2)保存结果:保存标定结果

3)误差分析:显示重投影点与提取角点的偏差,单击误差分析图像上的点可显示该点的相关信息

▲原始数据重合名:bak1_calib_data.mat

▲标定结果重命名为:bak1_calib_results.mat、bak1_calib_results.m

▲误差图像保存为:bak1_calib_error.fig

(3)基于优化后的角点标定:<Recomp. Corners>, <Calibration>, <Save>, <Analyse error>

1)重新定位角点:将重投影的点作为初始值来重新定位角点

2)执行标定:同前

3)保存结果:同前

4)误差分析:同前

(4)可持续数据:bak1_calib_data.mat和bak1_calib_results.mat

1)导入bak1_calib_data.mat相当执行步骤(1)

2)导入bak1_calib_data.mat和bak1_calib_results.mat相当执行步骤(1)和(2)

2.辅助工具

(1)直观地查看重投影点与提取点之间的误差:<Reproject on images>

(2)直观地查看外参(即相机和标定板之间的相对位置关系):<Show Extrinsic>

(3)导出标定数据(即世界坐标和像素坐标)以提供给OpenCV使用:<Export calib data>,可命名为:bak1_calib_xyz/uv_*.txt

3.可分离功能

(1)计算外参:<Comp. Extrinsic>,相当于OpenCV中的

(2)图像矫正:<Undistort image>,相当于OpenCV中的<InitUndistortMap+remap>

2.双目标定


1.核心步骤

(1)获得标定数据:<Load left and right calibration files>

1)输入数据:左右标定数据(必选)、左右源图像序列(可选)

2)读入左右标定数据:输入左右标定数据文件名

3)查看外参初值:输入左右标定数据后将自动计算并回显外参初值

(2)执行双目标定:<Run stereo calibration>, <Save stereo calib results>

1)执行全局优化

2)保存标定结果:保存为bak1_calib_results_stereo.mat

2.辅助工具:<Show Extrinsic of stereo rig>,直观地查看外参(即左右相机和标定板之间的相对位置关系)

3.可分离功能:<Rectify the calibration images>,图像矫正,相当于OpenCV中的<InitUndistortMap+remap>

时间: 2024-11-04 16:27:27

相机标定:Matlab标定工具箱使用要点的相关文章

双目相机之MATLAB标定(stereo_gui)

这段时间在做双目相机的标定,从MATLAB帮助文档中找到了有关双目相机的标定方法,花了一点时间翻译了一下,希望需要的人能借鉴一下! 像很多博文一样,首先要列出原文: http://www.vision.caltech.edu/bouguetj/calib_doc/index.html#examples 文档中举了几个例子,有关双目的是第5个,看仔细哦! 一下就是正文了! 这个例子展示了如何使用工具箱用于校准一个立体系统(内在和外在)和使用立体标定的结果为立体图像校正和3 d立体三角测量. 下载s

MATLAB标定工具箱 相机标定

记录一下MATLAB标定工具箱的使用. MATLAB标定工具箱有新旧两种,简单来说,需要自己下载toolbox_calib文件并使用calib命令启动的是旧的标定工具箱,新的工具箱则位于MATLAB中的APPS下拉菜单中. 对新的工具箱,完全傻瓜式操作,添加完图像后,按照下图勾选相应选项,即可校正切向和径向畸变,然后点击Calibrate按钮即可得到相机内参和畸变参数: 对旧的工具箱,具体可参考这篇博文,需要注意的是,在依次点击图像角点时,需要按照顺时针,但无需每次都从棋盘格的同一位置开始. 下

张正友相机标定Opencv实现以及标定流程&amp;&amp;标定结果评价&amp;&amp;图像矫正流程解析(附标定程序和棋盘图)

使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些? 相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像. 相机标定的输入:标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三维坐标(一般情况下假定图像位于Z=0平面上). 相机标定的输出:摄像机的内参.外参系数. 这三个基础的问题就决定了使用Openc

基于OpenCV单目相机的快速标定--源码、工程、实现过程

相机的标定是所有人走进视觉世界需要做的第一件事,辣么多的视觉标定原理解释你可以随便在网上找到,这里只讲到底如何去实现,也算是给刚入门的朋友做个简单的分享. 1.单目相机标定的工程源码 首先请到同性交友网站Github上下载工程源码(https://github.com/Zhanggx0102/Camera_Calibration),注意以下几点: 1).这是一个MS Visual Studio 2010的工程源码(版本是201x都可以). 2).在编译运行之前请先在VS中配置好OpenCV(网上

MATLAB地图工具箱学习总结(三)地图工具箱的基本知识

今天想要介绍的是一些比较基础的函数.了解了这些函数,地图投影的基本概念才能真正明白.而要想继续研究MATLAB中有关地图投影的函数,尤其是未来我要提到的投影文件源代码,知晓这些函数的功能必不可少.本篇文章将会罗列三个案例,并在后面一一进行讲解. 1                    作业案例:地图投影作业1 这次的案例从作业1开始.作业1是要求计算出地球椭球体的一些基本参数,包括子午圈曲率半径.卯酉圈曲率半径.平均曲率半径和纬圈半径等.当初我交上的作业完全是数学公式的堆砌,不过其实MATLA

MATLAB信号处理工具箱函数列表分类

现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询) Waveform Generation(波形产生) chairp: 产生扫频余弦函数: diric: 产生Dirichlet或周期sinc函数: gauspuls: 产生高斯调制地正弦曲线脉冲: pulstran: 产生一个脉冲序列: rectpuls: 产生一个非周期的抽样方波: sawtooth: 产生锯齿波或三角波: sinc: 产生sinc函数,即sin(πt)/πt;

matlab遗传算法工具箱

转自http://blog.sina.com.cn/s/blog_5ebcc0240101pnrj.html matlab遗传算法工具箱函数及实例讲解 (2014-01-10 13:03:57)   分类: matlab 最近研究了一下遗传算法,因为要用遗传算法来求解多元非线性模型.还好用遗传算法的工具 箱予以实现了,期间也遇到了许多问题.借此与大家分享一下. 首先,我们要熟悉遗传算法的基本原理与运算流程. 基本原理:遗传算法是一种典型的启发式算法,属于非数值算法范畴.它是模拟达尔文的自然 选择

相机标定 matlab opencv ROS三种方法标定步骤(1)

一 .理解摄像机模型,网上有很多讲解的十分详细,在这里我只是记录我的整合出来的资料和我的部分理解 计算机视觉领域中常见的三个坐标系:图像坐标系,相机坐标系,世界坐标系,实际上就是要用矩阵来表示各个坐标系下的转换 首先在图像坐标系下与相机坐标系的关系 可得出   Xcam=x/dx+x0,    Ycam=y/dy+y0  表示为矩阵形式 Xcam           1/dx   0      x0          x Ycam      =    0     1/dy   y0    *  

机器学习之实战matlab神经网络工具箱

上节在 <机器学习之从logistic到神经网络算法> 中,我们已经从原理上介绍了神经网络算法的来源与构造,并编程实战了简单神经网络对于线性与非线性数据的分类测试实验.看过上节的可能会发现,上节实现的算法对于非线性数据的分类效果并不是非常完美,有许多值得优化的地方.而matlab作为一个科学计算软件,本身集成了非常多的优化算法,其中的神经网络工具箱就是其中一个优秀的工具箱,本节将以工具箱中的函数重新实验上节中的分类实验. 首先来了解这个工具箱.我们说,一个简单的神经网络就如下图所示: 这是我们