最近在做双目测距,需要用到相机标定、矫正等,但首先需要熟悉相机模型;相机模型为以后算法的关键,只有将相机模型理解透彻,才能对以后的标定算法有更好的理解。参考了好多相关的博客,终于有点思路,顺手写下来作为笔记;
首先要理解相机模型中的四个平面坐标系之间的关系像素平面坐标系(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. Ubuntu iso镜像文件写入U盘
  2. 爱尔兰 APC 微生物组研究所—菌群研究的全球领航者之一
  3. Caffe 运行平台支持DenseNet模型
  4. linux 打印函数宏,linux内核中的嵌入式汇编宏函数
  5. android 保存崩溃信息,Android保存每次运行崩溃报告的日志
  6. Linux驱动基础:msm平台,modem等framework加载
  7. 学计算机怎样才能考上大学,中国式家长考清华北大方法 重点大学怎么才能考上...
  8. 操作多个表_4_查询不再另外一个表里的记录
  9. iphone安装Deb文件
  10. 关于多库操作一些想法
  11. orchard文档之-搜索和索引
  12. 二进制部署Kubernetes v1.13.4 HA可选
  13. ext.net 2.5 导出excel的使用方法
  14. mysql 抓包工具_好用的MySQL抓包工具:sniffer-agent
  15. 间接效应值大于1是正常的吗?Q群答疑20200405
  16. 如何给图片去底色?图片底色变透明的方法
  17. 医药行业的销售数据如何分析?
  18. 加州大学戴维斯分校 计算机科学,加州大学戴维斯分校计算机科学硕士设置
  19. 也来说是 AngularJS、 Angular 2、Angular 4 的区别
  20. 瀑布流插件WookMark

热门文章

  1. Java 中的引用与一切都是对象
  2. (swing读书笔记)Undo/Redo(上)
  3. Light Detection and Ranging (LiDAR)光探测和测距 (LiDAR)
  4. java语言使用的字符码集是_Java应用开发中的字符集与字符编码
  5. 透视投影——消失点的两点证明
  6. git 常用操作集锦
  7. python编写代码实现10以内的偶数之和_python 求1-100之间的奇数或者偶数之和的实例...
  8. CDL3的模拟信号采集和CAN发送
  9. 关于PLCSIM Advanced3.0 timeout while powering on plc instance报错的解决方法
  10. 中国慢慢的走到繁荣富强了