最近在做双目测距,需要用到相机标定、矫正等,但首先需要熟悉相机模型;相机模型为以后算法的关键,只有将相机模型理解透彻,才能对以后的标定算法有更好的理解。参考了好多相关的博客,终于有点思路,顺手写下来作为笔记;
首先要理解相机模型中的四个平面坐标系之间的关系像素平面坐标系(u,v)图像坐标系(x,y)相机坐标系(Xc,Yc,Zc)和世界坐标系(Xw,Yw,Zw);

1.图像坐标系到像素坐标系

  • 像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样;

(图片来自百度)

  • 由于(u,v)只代表像素的列数与行数,而像素在图像中的位置并没有用物理单位表示出来,所以,我们还要建立以物理单位(如毫米)表示的图像坐标系x-y。将相机光轴与图像平面的交点(一般位于图像平面的中心处,也称为图像的主点(principal point)定义为该坐标系的原点O1,且x轴与u轴平行,y轴与v轴平行,假设(u0,v0)代表O1在u-v坐标系下的坐标,dx与dy分别表示每个像素在横轴x和纵轴y上的物理尺寸,则图像中的每个像素在u-v坐标系中的坐标和在x-y坐标系中的坐标之间都存在如下的关系:

    也可以用矩阵的形式描述图像坐标系到像素坐标系的转换:

2.相机坐标系到图像坐标系

(图片来自百度)

相机成像的几何关系可由图表示。其中O点为摄像机光心(投影中心),Xc轴和Yc轴与成像平面坐标系的x轴和y轴平行,Zc轴为摄像机的光轴,和图像平面垂直。光轴与图像平面的交点为图像的主点O1,由点O与Xc,Yc,Zc轴组成的直角坐标系称为相机坐标系。OO1为相机焦距。

下图是本人笔记的扫描版


点P(Xc,Yc,Zc)由通过投影中心的光线投影到图像平面上,相应的图像点为p(x,y,f);根据相似三角形原理:

用线性代数矩阵描述为:

3.世界坐标系到相机坐标系

世界坐标系是为了描述相机的位置而被引入,上图中坐标系OwXwYwZw即为世界坐标系. 平移向量t旋转矩阵R可以用来表示相机坐标系与世界坐标系的关系.所以,假设空间点P在世界坐标系下的齐次坐标是(Xw,Yw,Zw,1)T,在相机坐标下的齐次坐标是(Xc,Yc,Zc,1)T,则存在如下关系:

其中 R为3x3旋转矩阵,t为3x1平移矢量;

4.世界坐标系到像素坐标系

综合前三点,世界坐标系到像素平面坐标系可由前面的公式组合而成:



其中M1称为相机的内部参数矩阵,2称为相机的外部参数矩阵,M称为投影矩阵.

相机标定(一): 世界坐标系、相机坐标系、图像坐标系和像素坐标系间的关系相关推荐

  1. matlab相机标定_综述 | 相机标定方法

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相 ...

  2. 相机标定和双目相机标定标定原理推导及效果展示

    文章目录 前言 一.相机标定 1.相机的四个坐标系 2.相机的畸变 二.张正友标定法 1.求解内参矩阵与外参矩阵的积 2.求解内参矩阵 3.求解外参矩阵 4.标定相机的畸变参数 5.双目标定 6.极线 ...

  3. 相机标定、双目相机标定(原理)、三维重建效果展示

    1.相机标定的目的: (1)通过单目相机标定分别求出左右相机的内参数和外参数. (2)矫正由于镜头畸变造成的图片的变形,例如,现实中的直线,拍摄成图像后会外凸或内凹,进行相机标定后可以对这种情况进行校 ...

  4. matlab单目相机标定步骤,matlab相机标定

    本文是一篇关于相机标定意义和原理的个人总结,包含了 OpenCV 和 Matlab 中常用的相机 标定函数的注解. 相机标定是机器视觉的基础, 标定结果的好坏直接决定了机器...... 图片数量一定程 ...

  5. 理论联系实践:相机标定之世界坐标系的定义

    总结起来就是一个公式: 也就是相机内参x相机外参x世界坐标系=Zc x 像素坐标系 其中,Zc是相机坐标系下的Z值,也就是相机坐标系与世界坐标系间的高度,也有的教程把它写为s,都是一样的. 首先,来看 ...

  6. matlab相机标定畸变参数,相机标定的原理与意义及OpenCVMatlab实现差异小结.doc

    2011-01-30 相机标定的原理与意义及OpenCV.Matlab实现差异小结 分类:?OpenCV点滴2011-01-30 20:35?2292人阅读?评论(3)?收藏?举报 ??? 本文是一篇 ...

  7. python相机标定流程图_相机标定——OpenCV-Python Tutorials

    目标 我们将了解导致相机失真.扭曲的内因与外因 我们将试着找到这些畸变参数,并消除畸变 基础 如今大量廉价的摄像机导致了很多照片畸变.两个主要的畸变是径向畸变和切向畸变. 由于径向畸变,直线会变弯.距 ...

  8. matlab相机标定工具箱进行相机标定,相机标定的理解及采用opencv和matlab工具箱的标定方法...

    一.相机标定的目的 确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数. 二.通用摄像机模型 世界坐标系.摄像机坐标系和像平面 ...

  9. 视觉SLAM——针孔相机模型 相机标定原理 双目相机模型 深度相机对比

    前言 本博客为主要学习<视觉SLAM十四讲>第5讲.<机器人学的状态估计>第6章6.4.1透视相机.<多视图几何>第5章摄像头模型等SLAM内容的总结与整理. 主要 ...

  10. 【相机标定】多相机无交叠视域图像拼接

    一.背景介绍 在工业定位场景中,常常存在多个无交叠视域的摄像头,对某一个平面下的物体进行定位测量.如何求解这些无交叠视野的摄像机的图像相对位置关系对于目标定位十分重要.本文主要介绍一种借助ChAuco ...

最新文章

  1. 单链表-逆置单链表(头插法且双指针)
  2. alert 回调_element之Alert 警告
  3. [网站链接]Debbie博客上的链接: [求职网站][博客链接][信息资源]……
  4. Github-Hexo-theme-NexT
  5. C# dataTable 转 IList 问题
  6. 鬼泣4计算机丢失xinput,Win7系统运行游戏报错“计算机丢失XINPUT1-3.dll”
  7. java记事本课程设计,java记事本课程设计
  8. 构建用于测试的超大型内存InputStream
  9. 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表
  10. toj 4316 报数游戏
  11. 瑞利分布概率密度函数推导_IBL推导及实现
  12. 2020年日历电子版(打印版)_2020年日历电子版(打印版)79451
  13. Web容器初始化过程
  14. SpringMVC_1
  15. 汽车车牌正则表达式验证,含新能源车牌(适用全国)
  16. 世界编程语言排名2019_世界十大编程语言-2019一起玩
  17. 【JTAG】1500协议详解
  18. tvOS多层图片的使用
  19. pandas基本数据对象及操作(DataFrame篇)
  20. 19春福是计算机应用基础,19春福师计算机应用基础在线作业二.doc

热门文章

  1. HTML5与CSS3学习笔记
  2. jsp mysql花店_基于jsp的花店网站-JavaEE实现花店网站 - java项目源码
  3. LOL 控制技能的解释
  4. 网络红人“二月Y头”私信作家辛东方,竟为何事?
  5. 已解决OSError: [Errno 22] Invalid argument: ‘E:\\桌面\\x0c.txt‘
  6. Linux CentOS 7.3 1611 基础命令
  7. linux no crontab for root - using an empty one Permission denied
  8. java8的stream中的toMap
  9. 【Linux搭建本地yum源】
  10. Eclipse调试无法选择BlueStacks模拟器的问题