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. js用户修改密码功能模块

    ;(function(){ var ajaxSub = false, showError = function(msg){ if(msg){ $('#er_txt').html(msg).show() ...

  2. 默认.htpl改为.htpl

    创建一个.html 或.htpl 在打开的html页面空白处右击--属性

  3. IntelliJ IDEA 工具常用快捷键

    IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具(git.svn.g ...

  4. ODOO-10.0 错误 Could not execute command 'lessc'

    2017-01-05 20:24:12,473 4652 INFO None odoo.service.db: Create database `hello`. 2017-01-05 20:24:16 ...

  5. 【转载】Restarting an analysis in ANSYS

    原文地址:http://blog.sina.com.cn/s/blog_4b764640010168ru.html   这是自己最近做的一个例子,一是为了感谢okok论坛给与我的很大的帮助,二是起到抛 ...

  6. C/C++文字常量与常变量的概念与区别 分类: C/C++ 2015-06-10 22:56 111人阅读 评论(0) 收藏

    以下代码使用平台是Windows 64bits+VS2012. 在C/C++编程时,经常遇到以下几个概念:常量.文字常量.符号常量.字面常量.常变量.字符串常量和字符常量,网上博客资料也是千篇千律,不 ...

  7. 35 个 Java 代码性能优化总结

    前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用, ...

  8. strcpy 库函数 拷贝函数

    strcpy 是在string.h 里面 #include "stdafx.h"#include "string.h"struct Student{int Se ...

  9. 【转】Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing

    最近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类.结果编译时出现:No enclosing instance of type E is accessible ...

  10. nginx入门篇----nginx服务器基础配置

    1.nginx.conf文件结构...                         #全局块  events{  ...  }  http                      #http块{ ...