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>

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

  1. 相机标定过程(opencv) + matlab参数导入opencv + matlab标定和矫正

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 辛苦原创所得,转载请注明出处 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  2. matlab calibration toolbox -- matlab标定工具的使用方法--去畸变和双目校正

    matlab calibration toolbox -- matlab标定工具的使用方法--去畸变和双目校正 2015-04-06 22:45 5407人阅读 评论(2) 收藏 举报  分类: 机器 ...

  3. VIO系统的IMU与相机时间偏差标定

      视觉里程计(VIO)作为一种空间定位方法,广泛应用于VR/AR.无人驾驶和移动机器人,比如近年火热的苹果 AR-Kit和谷歌AR-Core都使用了VIO技术进行空间定位.通常,VIO系统忽略IMU ...

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

    相机的标定是所有人走进视觉世界需要做的第一件事,辣么多的视觉标定原理解释你可以随便在网上找到,这里只讲到底如何去实现,也算是给刚入门的朋友做个简单的分享. 1.单目相机标定的工程源码 首先请到同性交友 ...

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

    使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些? 相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的 ...

  6. MATLAB地图工具箱学习总结(四)自定义投影

    MATLAB地图工具箱学习总结(四)自定义投影 这是本系列的最后一篇文章,准备给大家讲讲自定义投影怎么做.在做这项作业的时候,自己也是花了不少时间,将所有地图投影源文件都看了一遍,简单分析了一下源代码 ...

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

    MATLAB地图工具箱学习总结(三)地图工具箱的基本知识 今天想要介绍的是一些比较基础的函数.了解了这些函数,地图投影的基本概念才能真正明白.而要想继续研究MATLAB中有关地图投影的函数,尤其是未来 ...

  8. MATLAB地图工具箱学习总结(二)大圆和恒向线

    MATLAB地图工具箱学习总结(二)大圆和恒向线 今天要和大家谈一谈大圆.恒向线航道的画法.还是先从案例开始说起,再分别介绍相关的函数. 1                    作业案例:地图投影作 ...

  9. MATLAB地图工具箱学习总结(一)从地图投影说起

    MATLAB地图工具箱学习总结(一)从地图投影说起 前言 本学期地图投影课上,李连营老师建议我们使用MATLAB完成每周的作业.从大二上学期开始接触MATLAB学习数学运算和地理数据处理的我,自然不会 ...

  10. matlab coder 工具箱使用教程

    之前一直听说matlab代码可以转C和C++代码,但是一直都没有时间尝试,最近闲着无聊,就想来试试如何转换,上网查了很多资料,照着做下去,发现都有一些问题,之后自己琢磨了很久,终于将一个很简单的例子给 ...

随机推荐

  1. android 手机屏幕有关的几个工具(屏幕宽高,dp和px互相转换)

    平时适配页面时经常会需要根据屏幕的宽高来设置控件的大小,很多时候在代码中还会需要dp和px互相转换. 今天把最常用的几个记录一下,经测试包括2.3 ~ 5.0之间的版本都可用,其他版本未测,不过应该也 ...

  2. 从AutoCAD和.NET开始

    引自并参考Kean's blog:http://through-the-interface.typepad.com/through_the_interface/2006/07/getting_star ...

  3. PHP代码实用片段

    一.黑名单过滤 function is_spam($text, $file, $split = ':', $regex = false){ $handle = fopen($file, 'rb'); ...

  4. Linux 下编译安装MySQL

    最近在研究Mysql,当然先要把它安装在机器上才行呀.记录下操作,加深记忆,也供以后参考. 准备工作: Linux版本:Redhat Linux 6.4 Mysql版本(安装包):mysql-5.6. ...

  5. Search Insert Position

    int searchInsert(int* nums, int numsSize, int target) { ; ); ; int mid; while(low<=high){ mid=(lo ...

  6. 简谈ashx

    是一般处理程序, 是asp.net web 组件的一种,ashx是其扩展名. 实现IHttpHandler接口,接收并处理http请求.这个接口有一个IsReusable成员,一个待实现的方法Proc ...

  7. Linux测试环境部署jdk(一)

    安装配置JDK yum install -y lrzsz  安装rz,方便xshell上传下载文件 Jdk: jdk-6u1-linux-i586 Tomcat: apache-tomcat-7.0. ...

  8. 关于是用dotnet获取本机IP地址+计算机名的方法

    印象中在maxscript帮助文档里找到过方法,但是当时没记下来.只能通过dotnet实现了. 如果电脑有无线网卡和本地连接,可能会出现乱码,也问了写dotnet的朋友,提供了一些思路,不过最终还是使 ...

  9. 在 AndroidStudio 中添加和使用 Support Library

    添加Support Library 项目需要用到Support包时如何添加?其实非常简单. 第一步 打开SDK Manager 确认安装了最新的Support Library 和 Support Re ...

  10. grunt压缩js文件

    grunt是node中很好的管理项目的工具,利用它可以实现对整个项目的管理,避免很多重复性的工作如合并.压缩,检查语法等. 使用grunt首先要安装node环境,nodejs官网http://node ...