二、图像坐标:我想和世界坐标谈谈(B)

玉米将在这篇博文中,对图像坐标与世界坐标的这场对话中涉及的第二个问题:谈话方式,进行总结。世界坐标是怎样变换进摄像机,投影成图像坐标的呢?

玉米做了一个简单的图示,在这里做一个提纲。图中显示,世界坐标系通过刚体变换到达摄像机坐标系,然后摄像机坐标系通过透视投影变换到达图像坐标系。可以看出,世界坐标与图像坐标的关系建立在刚体变换和透视投影变换的基础上。为了奖励刚体变和透视投影变换沟通了“世界上最远的距离”,玉米在图上奖励了他们两朵小红花。哈哈

首先,让我们来看一下刚体变换是如何将世界坐标系与图像坐标系联系起来的吧。这里,先对刚体变换做一个介绍:

        刚体变换(regidbody motion):三维空间中, 当物体不发生形变时,对一个几何物体作旋转, 平移的运动,称之为刚体变换。

因为世界坐标系和摄像机坐标都是右手坐标系,所以其不会发生形变。我们想把世界坐标系下的坐标转换到摄像机坐标下的坐标,如下图所示,可以通过刚体变换的方式。空间中一个坐标系,总可以通过刚体变换转换到另外一个个坐标系的。转一转,走一走,就到另外一个坐标系下了。以前可能是面朝大海,经过平移旋转,最终可能只能面朝冰山了,哈哈

下面让我来看一下,二者之间刚体变化的数学表达。

其中,XC代表摄像机坐标系,X代表世界坐标系。R代表旋转,T代表平移。R、T与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsic parameter)可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。

R则为分别绕XYZ三轴旋转的效果之和。如下面所示:

R=r1*r2*r3.其由三个方向的θ控制,故具有三个自由度。

好了,刚体变换就讲完了。大家应该都了解,世界坐标系到摄像机坐标系之间的转换过程了吧。

接下来,让我们看看摄像机坐标下的坐标如何投影到图像坐标系下,最终变为照片中的一个像素。这其中包含两个过程:一是从摄像机坐标到“空间图像坐标”(x,y)所发生的透视投影;二是从“连续图像坐标”到“离散图像坐标”(u,v)。后者我们已经在第一篇博文中解释过。所以在这里,主要介绍一下透视投影。

透视投影(perspective projection): 用中心投影法将形体投射到投影面上,从而获得的一种较为接近视觉效果的单面投影图。有一点像皮影戏。它符合人们心理习惯,即离视点近的物体大,离视点远的物体小,不平行于成像平面的平行线会相交于消隐点(vanish point)。

啰嗦这么多,其实大家看看示意图,看看公式,秒懂。

以图中B(XB,YB)点为例,在小孔成像摄像机模型下(几何分析的最常用模型)。这里的f为摄像机的焦距,其属于摄像机的内参数(intrinsic parameter)。其在成像平面上的投影点b(xb,yb)的坐标利用简单的相似三角形比例关系很容易求出:

上面两式也阐明了摄像机坐标与图像坐标之间的透视投影关系。

好吧,现在玉米已经把图像坐标与世界坐标之间的这场对话所需经历的三个波折的过程加以了解释。即:刚体变换、透视投影、(x,y)换(u,v)(ps.这个在上一篇博文中讲过)。接下来玉米用一张图把三个过程连接起来。实现从世界坐标(X,Y,Z)到(u,v)之间的转换。让图像坐标与世界坐标直接对话。

下图中的转换关系,都是用齐次坐标表达的,大家会发现这样的表达非常整洁。

其实这张图显示的过程还有一个名字:摄像机模型(camera model)。其实也就是摄像机的几何模型了。

将三者相乘,可以把这三个过程和在一起,写成一个矩阵:

P就是世界坐标到图像坐标的直接联系人,P就表示了一个投影相机,有下面公式:

注意在表示齐次坐标时,需要在符号上面加个小帽子。除去齐次坐标控制位P23P具有11个自由度。

摄像机模型及其中涉及的坐标系等,是弄清3D重建几何框架的基础。可以把它们视为基本运算关系。后面对于三维重建几何框架的推导,都是要用到三个基本坐标系和摄像机模型的。

到这里玉米就顺利搭建起了图像坐标与世界坐标间的这场对话。如有纰漏还请大家担待,并指正!

图像坐标:我想和世界坐标谈谈(B)相关推荐

  1. 图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】

    玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题.希望这样的方式让大家以一个轻松的心态阅读玉米的<计算机视觉学习笔记>双目视觉数学架构系列博客.这个系列博客旨在捋顺一下已标定的双 ...

  2. 张正友标定Opencv实现、标定流程以及图像坐标转为世界坐标

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xiaomifanhxx/article/details/79560693 使用相机以前,首先要进行相 ...

  3. matlab 相机焦距,世界坐标、相机坐标、图像坐标、像素坐标的原理、关系,并用matlab仿真...

    照相机是日常生活中最常见的.它能把三维的空间图片等比例缩小投影在照片上,称为一个二维图像. 以下我们就讲一讲原理,并相应的进行matlab仿真. 在学之前,先要了解几个概念: 什么是世界坐标? 也就是 ...

  4. 相机标定(二)——图像坐标与世界坐标转换

    相机标定(一)--内参标定与程序实现 相机标定(二)--图像坐标与世界坐标转换 相机标定(三)--手眼标定 一.坐标关系 相机中有四个坐标系,分别为world,camera,image,pixel w ...

  5. 图像坐标与世界坐标转换

    一.坐标变换详解 1.1 坐标关系 相机中有四个坐标系,分别为world,camera,image,pixel world为世界坐标系,可以任意指定轴和轴,为上图P点所在坐标系. camera为相机坐 ...

  6. python dataset[trans_科学网—Python GDAL 图像坐标,投影坐标,经纬度坐标 三者映射及运行错误解决 - 吴妍潼的博文...

    题记: 写该博客是因为自己经常遇到这个问题,而我发现网络上关于这方面浏览量高的一些代码竟然都有误,每次照搬都被虐得很惨.有一些同志在某些博客下方留言说代码有问题,而博主没有回应,也没有更改错误.为了自 ...

  7. Spring MVC集成slf4j-logback - 我想跟代码谈谈 - 博客频道 - CSDN.NET

    Spring MVC集成slf4j-logback - 我想跟代码谈谈 - 博客频道 - CSDN.NET

  8. python dataset[trans_python gdal根据图像坐标生成矢量框(含图像坐标转地理坐标)...

    要生成矢量框需要将图像坐标转换为地理坐标或者投影坐标,以下代码是生成了满足条件的1000*1000区域对应的矢量框,关键在于红色字体部分. # -*- coding: utf-8 -*- import ...

  9. 图像坐标空间变换:透视变换(Perspective Transformation),或称为单应性(Homography)变换

    文章目录 透视变换简介 预备知识 透视变换公式推导 投影 二维坐标向齐次坐标的变换 公式求解 例子:A4纸视角校正 原始图片和坐标变换模板 计算程序 结果 透视变换的限制 前向映射与后向映射矩阵不互逆 ...

最新文章

  1. apm最高的记录_2020年秋季APM专业课推荐
  2. Leetcode 64 最小路径和 (每日一题 20210721)
  3. 单一职责原则--设计模式系列
  4. Java 基础——数组解析
  5. SAAS产业趋势洞察——乘风破浪会有时
  6. ps批量操作图片尺寸(一键执行) - 教程篇
  7. 【iOS系列】-xib封装使用
  8. java hook 和反射_Java反射与hook混用反射某支付的方法
  9. 判断App位于前台或者后台的6种方法
  10. 几家大厂求职与面试(一):Java必备,不看就是遗憾
  11. Mac OS X 通知中心彻底删除网站的通知
  12. 办公软件测试题目,Office高级办公软件测试(附答案)
  13. Windows系统下的NTP时间同步
  14. CEF3如何不加载图片以方便采集信息
  15. 当车载视觉遇上工业视觉(一)
  16. 阿里云CNAME配置详细图文流程 新手必看教程
  17. HDU_01背包系列
  18. 世界上最远的距离-泰戈尔
  19. 中国电信云计算及SDx联合技术开发实验室执行主任王峰:中国电信SDN/NFV实践-从边缘到核心...
  20. 为什么英文里的单词vanilla有“普通”的意思?

热门文章

  1. CDN架构以及原理分析
  2. 【详解Java中格式化处理】
  3. 电话骗术升级了,提高警惕! (转自公司内部新闻组,真人真事)
  4. vue-resource全攻略
  5. Linux进程管理之ps的使用
  6. 【记录一下】从0到1 我的python开发之路
  7. vue 的常用模块安指令(持续记录)
  8. Google Chrome保存插件方法
  9. vue使用webPack打包发布后页面显示空白
  10. jQuery --- 简单操作合集