自己总结的想法,可能会有不对的地方,以后再改。

像素坐标系:就是得到的图像的坐标系,左上角为原点,pixel为单位。

图像坐标系:成像平面CCD的坐标系,原点在像素坐标系中心(u0,v0),mm为单位。因为从像素坐标系没办法直接转换到相机坐标系,所以需要图像坐标系 在中间进行转换,其实就是把原点平移到(u0,v0),所以内参矩阵中才会有参数u0,v0.以pixel为单位转换到以mm为单位,需要知道CCD的mm尺寸,以及成像的图像的大小,二者相除得到每个像素的尺寸,我用的basler aca2500-14gm相机,2592*1944 pixel  5.7mm*4.3mm CCD尺寸。那么像元尺寸为0.00219mm,即内参矩阵中的dx,dy。到这里就解释了内参矩阵中为什么有u0,v0,dx,dy,那么f是什么呢?

相机坐标系:原点在镜头小孔中心,也是光学中心。那么焦距就是镜头小孔到CCD原点的距离。这样内参矩阵中也有了f,每次调焦都是调整CCD位置,使像平面与焦平面重合。

世界坐标系:是相机坐标系按着一定的参数,分别绕着XYZ轴做平移和旋转后,得到的。所以平移和旋转矩阵是外参。

畸变参数也是内参,有CCD平面与像素平面不垂直的夹角,还有镜头的畸变参数等。

所以单目相机标定的话,其实不需要外参,只要求得内参矩阵和畸变参数就可以。

那么这些参数如何求得?

其实就是求像素坐标系与世界坐标系的关系,也就是从世界坐标平面投影到像素坐标平面,这就是求单应矩阵,即知道一些像素坐标系上的角点坐标,也知道一些世界坐标系上的角点物理三维坐标(Z = 0),进行计算单应矩阵,则单应矩阵就包含了内参和外参,得到单应矩阵后,在通过cholesky分解B,得到内参矩阵,再通过一些公式求得外参。这些计算opencv通过calibrateCamera函数来实现。

注意棋盘格的行,列数最好不同,这样可以辨别出标定板的方向

张正友标定法几个坐标系的意思相关推荐

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

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

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

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

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

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

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

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

  5. 六、张正友标定法小结

    六.张正友标定法小结 这一博文,是玉米后补上的.因为觉得前面用了三篇博文来描述张氏标定法,略显散乱.在这里总结一下,使条理清晰一点.另外关于张氏标定所得参数也还有两点需要澄清.下面这个总结,其实也是在 ...

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

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

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

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

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

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

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

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

最新文章

  1. unity3d做简单小游戏可以吗?
  2. 墨菲定律:都是温度惹的祸
  3. 入门架构——单机高性能
  4. java网络编程面试题
  5. UIAlertController的使用及其自定义
  6. HDFS报错解决:Operation category JOURNAL is not supported in state standby
  7. Android入门之常用控件
  8. AutoFac自动注入时报错
  9. 动态规划应用--最长递增子序列 LeetCode 300
  10. JS流程控制语句 重复重复(for循环)语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 }...
  11. python冰雪奇缘使用教程_99 行 Python 代码实现《冰雪奇缘》特效?网友:大神碉堡!...
  12. 服务器显示演示版,金蝶软件打开后提示是演示版怎么办?
  13. 华为P30 HL2ELLEM VER.A手机图纸
  14. 路由守卫 AJAX,vue路由传参与路由守卫
  15. matlab星三角变压器,什么是变压器星三角接法
  16. MISC解题思路总结(一)XCTF平台
  17. python怎么样自动生成证件照
  18. 基于RGB-D数据的语义建图
  19. 《卓有成效的管理者》读书分享
  20. 用户画像——persona分析法

热门文章

  1. When allowCredentials is true, allowedOrigins cannot contain the specia 跨域 网关跨域
  2. Jenkins基础:Jenkinsfile使用实例:5:使用when进行条件分支处理
  3. 电信机顶盒ty1208-z刷linux(armbian)
  4. vrrp mstp 配置实验(学习笔记)
  5. 【Pytorch】| Pytorch中softmax的dim的详细总结
  6. 九连环的递回算法(C战C++)
  7. tcpdump抓包分析 https://www.01hai.com/note/av263669
  8. python超级大脑游戏代码_Super Brain超级大脑
  9. 华为连接wifi显示wifi未连接服务器,华为手机连上WiFi后显示不可上网?其实很简单,用这个解决就好了...
  10. 概率论与数理统计笔记 - 古典概型;条件概率;独立性