六、张正友标定法小结

这一博文,是玉米后补上的。因为觉得前面用了三篇博文来描述张氏标定法,略显散乱。在这里总结一下,使条理清晰一点。另外关于张氏标定所得参数也还有两点需要澄清。下面这个总结,其实也是在“A Flexible New Technique forCamera Calibration”中出现的。

一、张氏标定的过程:

1.      打印一张棋盘格,把它贴在一个平面上,作为标定物。

2.      通过调整标定物或摄像机的方向,为标定物拍摄一些不同方向的照片。

3.      从照片中提取特征点(如角点)。

4.      估算理想无畸变的情况下,五个内参和所有外参。

5.      应用最小二乘法估算。实际存在径向畸变下的畸变系数。

6.      极大似然法,优化估计,提升估计精度。

通过这样的过程,我们就获得了具有高估计精度的五个内参,三个外参和两个畸变系数。利用这些信息,我们可以进行畸变矫正、图像校正和最终的三维信息恢复。

二、以下是对于张氏标定求得的内参,需要注意的一点:

通过张氏标定,我们并不能得到:焦距(f)和像素的物理尺寸(sx,sy)两个参数。因为我们在求解内参阵A时,求解出的是α和β。

α=f/ sx,β= f/ sy 。分别代表焦距长度上,x轴和y轴像素的个数。

虽然,没有求得焦距,但这并不影响,我们在三维坐标恢复时,进行三角运算。因为彼时,我们的计算中用到的也是α和β。

大家可能会有疑问,既然我们无法得到焦距(f)和像素的物理尺寸(sx,sy)两个参数。那么在opencv中,调用的cvCalibrateCamera2时返回的参数中是包含焦距(f)的。Opencv的这个函数也是用了张氏标定法。为什么可以得到f呢?

答案是这条opencv函数对内参阵做了简化,其认为γ=0即像素的物理尺寸(sx,sy)两个参数相等。然后统一约掉物理尺寸s。得到的B阵如下:

这样我们就可以解出f了。

张氏标定的精确度可达到0.5个像素,这样的指标已经可以满足绝大多数的应用了。所以如此简单的方法,得到了这么高的精度。这样的方法是值得人们膜拜的。在此,在次向张正友教授致敬!

在此,玉米又对张氏标定法进行了一个总结。张氏标定的原理分析就到此为止了。但是它的作用还会延续到下面两篇博文中。

玉米才疏学浅,文中如有纰漏,请大家批评指正。

六、张正友标定法小结相关推荐

  1. python 倒数两列_相机标定之张正友标定法数学原理详解(含python源码)

    一.相机标定的目的 我们首先要明白两个问题:1.相机是如何成像的?2.相机标定的目的是什么? 1.相机是如何成像的呢? 相机成像系统中,共包含四个坐标系:世界坐标系.相机坐标系.图像坐标系.像素坐标系 ...

  2. 基于Matlab-采用张正友标定法对双目相机进行标定

    一.工作环境 操作系统:Win10 开发环境: Matlab 2019b(需要摄像头驱动包) 相机:USB双目相机,支持UVC标准协议 1.安装摄像头驱动包(OS Generic Video Inte ...

  3. 【计算机视觉】张正友标定法相机标定

    目录 一.相机标定 二.张正友标定法 2.1 张正友标定法概述 2.2 张正友标定法原理 2.2.1 坐标系 2.2.2 内参矩阵计算 2.2.3 外参矩阵计算 2.2.4 极大似然估计 2.2.5  ...

  4. 【一文弄懂】张正友标定法-完整学习笔记-从原理到实战

    张正友标定法-完整学习笔记-从原理到实战 文章目录 张正友标定法-完整学习笔记-从原理到实战 (零)前言: 1 为什么需要标定? 2 相机标定的已知条件和待求解是什么? 标定前的已知条件: 待求信息: ...

  5. 张正友标定法——相机参数的标定

    张正友标定法也称棋盘格标定法,是指张正友教授1998年提出的单平面棋盘格的摄像机标定方法.该方法介于传统的标定方法和自标定方法之间,使用简单实用性强,有以下优点: 不需要额外的器材,一张打印的棋盘格即 ...

  6. 【转载】张正友标定法翻译

    找到一篇张正友标定法的中文翻译,感觉翻译的还是很用心的,现记下来,以备以后浏览 https://blog.csdn.net/heroacool/article/details/50286677

  7. 张正友标定法 【计算机视觉学习笔记--双目视觉几何框架系列】

    三.致敬"张正友标定" 此处"张正友标定"又称"张氏标定",是指张正友教授于1998年提出的单平面棋盘格的摄像机标定方法.张氏标定法已经作为 ...

  8. 【动手学MVG】张正友标定法原理与实现

    文章目录 介绍 理论基础 棋盘格检测 TODO: 以后开单章去介绍标定中的角点检测算法. 基本符号 图像平面与棋盘格平面之间的单应矩阵 计算 A−TA−1A^{-T}A^{-1}A−TA−1 计算相机 ...

  9. 基于openCV库的张正友标定法的一些实验结果

    超大畸变图像畸变校正的实验结果 前言 5 测试与评估 5.1 标靶图像校正测试 5.1.1 测试样例 5.1.2 输出参数 5.1.2 矫正结果显示 5.2 常规图像校正测试 5.2.1 测试样例 5 ...

最新文章

  1. pandas使用groupby函数计算dataframe数据中每个分组的滚动统计值(rolling statistics)的语法:例如分组的N天滚动平均值、滚动中位数、滚动最大最小值、滚动加和等
  2. oracle sql statement ignored,sql – Oracle无效使用类型名称或子类型名称
  3. MySQL 8.0版本安装后,安装目录下找不到my.ini文件
  4. android expandablelist 自动滚动,在ExpandableListView中,如何保留滚动位置_android_开发99编程知识库...
  5. 学生信息管理信息系统--添加用户
  6. 不支持给定路径的格式_申论写作标准格式汇总,考前一定要看!
  7. SQK Server提示:安装程序无法与下载服务器联系。请提供 Microsoft R Open 和 Microsoft R Server
  8. 计算机中显卡在什么地方 看,电脑显卡在哪个位置
  9. php 模板 {{}},PHP模板技术
  10. Python基础笔记
  11. 垂直广告是什么意思_广告新趋势——内容为王 垂直细分
  12. 使用jib发布代码流程
  13. 常用颜色大全---RGB值及中英文名称
  14. [IOS APP]西藏生死书
  15. CCF201509-1数列分段(C语言)
  16. windows输入英文-搜狗输入法不提示很恼火怎么办
  17. python : pandas 中多重索引multiindex与多个标的dataframe
  18. 综述天分、标网、矢网、扫频仪的异同
  19. nginx防御简单CC攻击的方法
  20. 13. Redis底层实现 List

热门文章

  1. POJ C++程序设计 编程题#7:字符串排序
  2. [转载]android设置全屏和无标题
  3. golang协程测试
  4. Discuz!$_G变量的使用方法
  5. jqGrid格式化日期
  6. javaScript今日总结
  7. 数据操纵语言 ,DML, 增删改
  8. BluePrint和ORM
  9. git使用---工作区和暂存区
  10. HTTP响应报文与工作原理详解