• 起源
  • 透视与消失点
    • 单点透视 - 1 个消失点
    • 两点透视 - 2个消失点
    • 三点透视 - 3个消失点
  • 透视投影变换
  • 透视变换矩阵
  • 透视变换矩阵与 Homography、相机内参的关系
  • 透视与车载环境的联系
  • Ref

起源

透视与消失点

不平行于投影面的平行线的投影会汇聚到一个点,这个点称为消失点(Vanishing point)。

单点透视 - 1 个消失点

两点透视 - 2个消失点

三点透视 - 3个消失点

透视投影变换


从视点(投影中心)发出的所有通过对象(景)的射线和投影平面的交点形成三维立体的“像”,就是透视投影。
这是人眼,针孔相机的观察视角,所以尤其重要。

透视变换矩阵

对于单目透视

注意这里透视变换矩阵是右乘形式。
三目透视的话,

产生的三个灭点将分别位于X轴上的1/p处、Y轴上的 1/q 处和Z轴上的 1/r 处。

透视变换矩阵与 Homography、相机内参的关系

上面推导的透视变换矩阵是投影平面与物体表面平行的特殊情况,这种情况也被成为正透视投影。如果物体表面与投影平面不平行呢?那么就是上面透视变换矩阵中为0 的元素不一定为0 了,为1 的元素不一定为 1了。那么就成了标准的三维物体到二维图像的成像模型,矩阵依然是 4×44×44 \times 4的。

那么如果我们把物体表面当成一个平面来考虑呢?那就变成了图像到图像的透视变换了。透视矩阵也塌缩为一个 3×33×33 \times 3的矩阵。这不就是 Homography 吗?!从这个角度重新考虑 Homography,所谓的两个平面的对应关系,不就是源图像摆放好,目标图像所在平面做投影平面来透视观察源图像、随着投影平面角度距离的变化呈现不同的目标图像吗?!

同时,这个 3×33×33 \times 3 的矩阵就是相机的内参!只是,

  • 对于已经成像好的图像而言,右边的坐标点是 [u,v,1]T[u,v,1]T[u,v,1]^T
  • 而对于相机成像而言,右边的点是有深度信息的,即 [x,y,z]T[x,y,z]T[x,y,z]^T,除以 zz<script type="math/tex" id="MathJax-Element-407">z</script>, 二者就一样了。
  • 这实际上反映了,对三维世界进行二维成像的时候丢失的深度信息,同时也是利用二维图像进行三维重建的时候要恢复的深度信息

透视与车载环境的联系

  • 前装摄像头就是单目透视成像,对车载环境而言,天空与路面就是两个平行面。平行面在远处相交,就是地平线。

Ref

  • 什么是透视点和消失点功能:从最初绘画到近代摄影的应用,结合Photoshop具体实例,讲解的通俗清晰
  • 逆透视变换详解及MATLAB 代码实现 : 对应实际的车载应用场景
  • 透视变换 Perspective Transformation: 2D图像透视变换矩阵解析,续篇 讲 OpenCV 的实现与对应的Homography求解

【CG】透视变换(Perspective Transformation)相关推荐

  1. 【图像处理】透视变换 Perspective Transformation

    透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping).通用的变换公式为: ...

  2. 【OpenCV】透视变换 Perspective Transformation(续)

    透视变换的原理和矩阵求解请参见前一篇<透视变换 Perspective Transformation>.在OpenCV中也实现了透视变换的公式求解和变换函数. 求解变换公式的函数: [cp ...

  3. 【OpenCV】透视变换 Perspective Transformation

    透视变换的原理和矩阵求解请参见前一篇<透视变换 Perspective Transformation>.在OpenCV中也实现了透视变换的公式求解和变换函数. 求解变换公式的函数: Mat ...

  4. 【图像处理】透视变换 Perspective Transformation(含续加部分)

    本文博文地址:https://blog.csdn.net/xiaowei_cqu/article/details/26471527#commentsedit 续文博文地址:https://blog.c ...

  5. 【图像处理】透视变换 Perspective Transformation(小细节修正和推导流程补充)

    这部分的推导,首先是求解∆x3,∆y3,然后通过得到的方程组,求解可得a13,a23,然后通过∆x1,∆x2分别求得a21,a11,同样的通过∆y1,∆y2求得a22和a12,至此透视变换矩阵所有元素 ...

  6. 透视变换(perspective transformation)

    透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping).如下图所示 透视变换 ...

  7. 图像处理中的投影变换(Perspective Transformation)

    透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping).通用的变换公式为: ...

  8. 透视变换(perspective transformation)和射影(投影)变换(projective transformation)

    透视变换(perspective transformation)和射影(投影)变换(projective transformation) 0几点说明 投影和变换的区别. 投影分为:平行投影或者正射投影 ...

  9. 透视投影变换-Perspective Transformation

    文章目录 1透视投影变换概述 2透视投影变换原理 3透视投影变换的实现 1透视投影变换概述 透视投影变换(Perspective Transformation)是对图像做视平面(Viewing Pla ...

最新文章

  1. 短信升级为5G消息?三大运营商联合发布的《5G消息白皮书》说了啥?
  2. MYSQL 双主搭建
  3. python自己写包_Python将自己写的模块进行打包
  4. python内置数据结构_Python基础知识2-内置数据结构(下)
  5. 安装SQL2K,当创建挂起文件操作之后...
  6. 大白话5分钟带你走进人工智能-第二十二节决策树系列之概念介绍(1)
  7. 数据库表设计必需元素_HTML5输入,必需,模式,数据列表
  8. MYSQL 用户的操作
  9. 如何卸载Adobe Creative Cloud 桌面应用程序
  10. Visual Studio 2022把C#代码打印出来的技巧 有屋设计拆单管理一体化软件 全屋定制拆单 橱柜衣柜整装 木门归方程序
  11. 【仿美团点餐App】—— 首页(二)
  12. java drag_[Java教程]一步一步理解拖拽Drag(四)
  13. stm32 usb 虚拟串口驱动 - win7 64位安装
  14. SOF-SLAM:一种面向动态环境的语义视觉SLAM(2019,JCR Q1, 4.076)
  15. C++, RAII, and the GSL Refresher
  16. linux 命令:cut 详解
  17. 服务器装qq传文件好吗,QQ发送的离线文件,能够在QQ服务器上永远保存下去,直到对方接收。()...
  18. 3种常见的数据库迁移同步工具对比,哪个更适合你?
  19. etcd (一看就会)
  20. RFSoC应用笔记 - RF数据转换器 -22- API使用指南之配置DAC相关工作状态和中断相关函数使用

热门文章

  1. 说说 Windows 中的中文字体
  2. debian启动mysql_debian 修改启动服务器
  3. 用py2exe打包Python3.x应用
  4. 基于gensim的Doc2Vec\word2vec简析,以及用python 实现简要代码,
  5. 制作U盘版Windows 8部署工具
  6. appium环境搭建python_python2.7+appium环境搭建
  7. 木材燃烧后留下的灰烬是什么
  8. MaixBit初次上手配置教程
  9. html锚点怎么返回顶部,滑动效果的返回顶部锚点按钮
  10. 3300W充电桩源码;车载电源源码/包括PCB源理图