目录

前言

一、针孔相机的原理

二、像素坐标系转相机坐标系

三、相机坐标系转机体坐标系

四、机体坐标系转世界坐标系(NED)


前言

正文开始前先推荐我做这个坐标系转换受益最深的一本书《视觉SLAM14讲》,为什么要推荐这本书,首先这本书详细介绍了视觉slam的结构,从前端VO到后端Optimization到回环检测最后建图,十分详细并且通俗易懂。

我还没有读完这本书,因为最近正在做一个比赛,其中一项工作是做了一个圆圈检测,要将检测结果从像素坐标系转换到NED坐标系,起初找了别人的源码,但是还是想从原理上理解这个坐标系变换,所以我细读了《视觉SLAM14讲》这本书的第五讲“相机与图像”,从针孔相机的原理开始了解最后转换到世界坐标系。

整体的转换流程:

本人初次撰写博客,若全文有不当或者不合理之处,请予批评指正

一、针孔相机的原理

话不多说,先细说针孔相机的原理,为什么要介绍这个原理,因为这个原理让我认识清楚了相机内参(fx,fy,cx,cy)的含义,以及我们为什么要在使用相机前做矫正。

首先借用《视觉SLAM14讲》P97中的一张图:

左边的图大家应该很熟悉,和初二物理课本上的图很像,右边的图相当于左边图的俯视图(从上往下看),所以没有考虑y轴分量。这张图已经包含了整个转换过程的前两个坐标系,像素坐标系和相机坐标系。

二、像素坐标系转相机坐标系

现实中的点为,可以认为P在相机坐标系下,经过针孔投影后的点为,P’可以认为在像素坐标系下,但是要注意这个像素坐标系不是我们实际使用的像素坐标系,两者之间还相差缩放以及平移关系,这也就是相机内参的含义,后文将会详细介绍。还有一个比较重要的物理量是焦距(f),即相机光心O到成像平面的距离。

根据上图中的相似三角形的关系很容易可以得到:

对上式进行一个变换,将成像平面的坐标点放在左边:

到这一步,像素坐标系到相机坐标系的转换已经完成了一半,还差一个成像平面到像素坐标系的缩放平移。一般像素坐标系定义为o-u-v,其中o是像素坐标系的原点,位于图像的左上角,u轴与成像平面的x轴平行,v轴与成像平面的y轴平行,这个对于熟悉opencv的同学应该很熟悉。然后我们需要定义成像平面到像素坐标系的缩放平移关系,这里一定要弄明白,相机内参就是来源于此,缩放关系:我们假设像素坐标在u轴上缩放了α倍,在v轴上缩放了β倍,这里α和β的单位都是像素/m,因为成像平面和相机坐标系的点都是以m为单位的,平移关系:像素坐标系相对于成像平面平移了,那么成像平面P'的坐标和像素坐标系的关系如下:

将上式代入其中即可得到:

将αf合并成为,βf合并成为,那么上式就可以转换为:

再将其写成矩阵相乘的形式。

对于上式,定义相机内参矩阵K

那么上式可以简化为:

将上式做一个简单的变形:

上式就是像素坐标系转相机坐标系的表达式,可以看出一个点要想从像素坐标系转换到相机坐标系需要三个信息,首先是该点在像素坐标系下的坐标,然后需要相机的内参矩阵K,最后一个需要的就是深度信息Z,即该点在相机坐标系下Z轴的分量,如果你使用的是单目相机,那么有单目测距的手段,如果你使用的是双目相机,有双目测距的手段,如果你使用的是RGBD相机,那么直接就可以获取深度信息,如此一下,像素坐标系转相机坐标系就完成了。

三、相机坐标系转机体坐标系

首先相机坐标系转机体坐标系并不存在平移的关系,只是定义的不同,相机坐标系满足右手定则,机体坐标系满足左手定则:

所以两者之间只需要一个简单的转换矩阵,定义机体坐标系下的点为,定义相机坐标系下的点为,定义相机坐标系到机体坐标系的转换矩阵为:

那么从相机坐标系到机体坐标系的转换如下:

四、机体坐标系转世界坐标系(NED)

首先要理清,机体坐标系是与机体固连的,随着飞机的飞行,机体坐标系的原点以及对应的x,y,z三轴的方向都会发生相应的变化,而世界坐标系(此处我们以NED坐标系,即北东地坐标系为例)的原点以及三轴方向不会发生变化,两者之间相差的就是飞机的位姿关系,位姿即飞机的位置信息和姿态信息(在NED坐标系下),这个信息可以依靠视觉里程计得到,而位姿信息我们一般用旋转矩阵R平移向量t来描述,旋转矩阵描述的就是姿态信息,通过四元数或者欧拉角都可以得到旋转矩阵,而位置信息就是飞机在NED坐标系下的位置,那么机体坐标系下的某个点在NED坐标系下即可表示为:

至此,坐标系转换全部完成!

无人机——像素坐标系转世界坐标系(NED)相关推荐

  1. MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换

    matlab 做相机标定后,想将第一张(任意一张都行)标定板角点所对应的像素坐标转换到世界坐标系下,标定板角点的像素坐标真值与世界坐标真值都非常容易获得,但是我通过内外参矩阵将像素坐标转换到世界坐标有 ...

  2. 相机成像---世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系

    新学期第一天开始写的这篇文章,看看我啥时候能把他发出去.假期当然是啥也没干了,之前还信誓旦旦说回家一定能学习,学个毛线.开始学习啦,去年年末把环境配置好了之后,实验发现他不准,用的D435i摄像头是红 ...

  3. 世界坐标系、相机坐标系、图像坐标系、像素坐标系都是什么?

    四个坐标系都是什么? 图像处理.立体视觉等等方向常常涉及到四个坐标系:世界坐标系.相机坐标系.图像坐标系.像素坐标系 构建世界坐标系只是为了更好的描述相机的位置在哪里,在双目视觉中一般将世界坐标系原点 ...

  4. 像素坐标系、图像坐标系、相机坐标系和世界坐标系的关系(简单易懂版)

    搞视觉SLAM的,如果对这个关系都不是很清楚的话,那说明你太忙了,忙于写着业务代码,却忘了原理才是我们业务的骨架,不搞清楚这些,升职加薪无望啊,那我们就来看看,这些极具价值的知识究竟是什么东西. 计算 ...

  5. 世界坐标系,相机坐标系,图像坐标系,像素坐标系是什么?

    四种坐标系 相机标定过程中涉及的坐标系类型:世界坐标系,相机坐标系,图像坐标系,像素坐标系. 世界坐标系(xw,yw,zw):摄像机与被摄物体可以放置在环境中任意位置,这样就需要在环境中建立一个坐标系 ...

  6. 【自动驾驶】16.计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换

    本篇博客为转载,我对其中的细节添加了一些说明. 原文链接:https://blog.csdn.net/chentravelling/article/details/53558096 0.前言 最近整理 ...

  7. 单目视觉标定:世界坐标系、相机坐标系、图像坐标系、像素坐标系——简单粗暴,粗暴

    转:https://blog.csdn.net/chentravelling/article/details/53558096 1.正文 图像处理.立体视觉等等方向常常涉及到四个坐标系:世界坐标系.相 ...

  8. 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换(转载)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chentravelling/article/details/53558096 0.前言 最近整理了& ...

  9. 三维视觉基础之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系

    三维视觉基础之世界坐标系.相机坐标系.图像坐标系和像素坐标系之间的转换关系 一.各坐标系介绍 二.世界坐标系和相机坐标系之间的转换 三.相机坐标系和图像坐标系之间的转换 四.图像坐标系和像素坐标系之间 ...

  10. 浅析相机相关坐标系的相互转换(世界坐标系、相机坐标系、图像坐标系、像素坐标系、内参矩阵、外参矩阵、扭转因子)【相机标定计算机视觉】

    最近在网上看到了很多关于坐标系转换的帖子,但是其内容很多都是相互转载(甚至还有一部分是错误的),同时大部分的文章内容都是告诉你四种坐标系间的相互转化的数学公式,看完之后很多时候还是不知所云,本文意在深 ...

最新文章

  1. Go-Mega Tutorial 01 - Hello World
  2. python 中 sorted() 和 list.sort() 的用法
  3. ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同
  4. [Qt教程] 第25篇 数据库(五)SQL表格模型QSqlTableModel
  5. 莫烦python博客_《莫烦Python》笔记 -- numpy部分
  6. linux 内核编译安装及卸载
  7. FFMPEG geq与比较函数
  8. 函数, lambda表达式
  9. zkteco iface702 中控考勤机java开发步骤一---连接考勤机
  10. linux系统内存执行elf的多种方式(内存马)
  11. 腾讯测试岗位的面试经历
  12. 使用单元测试测试您的 Room 数据库
  13. 微信支付接入-弹出支付框输入密码后一直在转圈,20s后提示:支付失败,请稍后再试
  14. 大学生WEB前端静态网页——旅游介绍35页 响应式,
  15. 求最大公约数的几种常见方法(C语言)
  16. 阻止浏览器默认行为事件
  17. 2017算法实习生应聘经验总结
  18. java单根结构_java“单根继承结构”
  19. [资源数据]文化程度代码
  20. 贪心算法:数列极差问题

热门文章

  1. 手机浏览器 打开 APP,APP 嵌套在了浏览器里,网页跳转app问题
  2. android 渐变蒙版_干货分享(第八期):PS蒙版教学,利用蒙版制造渐隐效果
  3. SSM框架集合(2021)基础使用
  4. 高等数学学习笔记——高等数学(二)学习笔记汇总
  5. ubuntu16.04+VScode+C/C++编译器常用插件
  6. 1055 集体照 (25 分)
  7. 华为内部硬件开发设计流程
  8. SharePoint 网站登录不上,3次输入用户名/密码白页
  9. Windows 10 office开机自启白页关闭,只需三步轻松关闭(亲测可用)
  10. 3分钟速读原著《Java数据结构与算法》(一)