【CG】透视变换(Perspective Transformation)
- 起源
- 透视与消失点
- 单点透视 - 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)相关推荐
- 【图像处理】透视变换 Perspective Transformation
透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping).通用的变换公式为: ...
- 【OpenCV】透视变换 Perspective Transformation(续)
透视变换的原理和矩阵求解请参见前一篇<透视变换 Perspective Transformation>.在OpenCV中也实现了透视变换的公式求解和变换函数. 求解变换公式的函数: [cp ...
- 【OpenCV】透视变换 Perspective Transformation
透视变换的原理和矩阵求解请参见前一篇<透视变换 Perspective Transformation>.在OpenCV中也实现了透视变换的公式求解和变换函数. 求解变换公式的函数: Mat ...
- 【图像处理】透视变换 Perspective Transformation(含续加部分)
本文博文地址:https://blog.csdn.net/xiaowei_cqu/article/details/26471527#commentsedit 续文博文地址:https://blog.c ...
- 【图像处理】透视变换 Perspective Transformation(小细节修正和推导流程补充)
这部分的推导,首先是求解∆x3,∆y3,然后通过得到的方程组,求解可得a13,a23,然后通过∆x1,∆x2分别求得a21,a11,同样的通过∆y1,∆y2求得a22和a12,至此透视变换矩阵所有元素 ...
- 透视变换(perspective transformation)
透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping).如下图所示 透视变换 ...
- 图像处理中的投影变换(Perspective Transformation)
透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping).通用的变换公式为: ...
- 透视变换(perspective transformation)和射影(投影)变换(projective transformation)
透视变换(perspective transformation)和射影(投影)变换(projective transformation) 0几点说明 投影和变换的区别. 投影分为:平行投影或者正射投影 ...
- 透视投影变换-Perspective Transformation
文章目录 1透视投影变换概述 2透视投影变换原理 3透视投影变换的实现 1透视投影变换概述 透视投影变换(Perspective Transformation)是对图像做视平面(Viewing Pla ...
最新文章
- 短信升级为5G消息?三大运营商联合发布的《5G消息白皮书》说了啥?
- MYSQL 双主搭建
- python自己写包_Python将自己写的模块进行打包
- python内置数据结构_Python基础知识2-内置数据结构(下)
- 安装SQL2K,当创建挂起文件操作之后...
- 大白话5分钟带你走进人工智能-第二十二节决策树系列之概念介绍(1)
- 数据库表设计必需元素_HTML5输入,必需,模式,数据列表
- MYSQL 用户的操作
- 如何卸载Adobe Creative Cloud 桌面应用程序
- Visual Studio 2022把C#代码打印出来的技巧 有屋设计拆单管理一体化软件 全屋定制拆单 橱柜衣柜整装 木门归方程序
- 【仿美团点餐App】—— 首页(二)
- java drag_[Java教程]一步一步理解拖拽Drag(四)
- stm32 usb 虚拟串口驱动 - win7 64位安装
- SOF-SLAM:一种面向动态环境的语义视觉SLAM(2019,JCR Q1,	4.076)
- C++, RAII, and the GSL Refresher
- linux 命令:cut 详解
- 服务器装qq传文件好吗,QQ发送的离线文件,能够在QQ服务器上永远保存下去,直到对方接收。()...
- 3种常见的数据库迁移同步工具对比,哪个更适合你?
- etcd (一看就会)
- RFSoC应用笔记 - RF数据转换器 -22- API使用指南之配置DAC相关工作状态和中断相关函数使用
热门文章
- 说说 Windows 中的中文字体
- debian启动mysql_debian 修改启动服务器
- 用py2exe打包Python3.x应用
- 基于gensim的Doc2Vec\word2vec简析,以及用python 实现简要代码,
- 制作U盘版Windows 8部署工具
- appium环境搭建python_python2.7+appium环境搭建
- 木材燃烧后留下的灰烬是什么
- MaixBit初次上手配置教程
- html锚点怎么返回顶部,滑动效果的返回顶部锚点按钮
- 3300W充电桩源码;车载电源源码/包括PCB源理图