计算机视觉系列教程13:透视几何原理(灭点灭线)+实例分析
Posted FrigidWinter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机视觉系列教程13:透视几何原理(灭点灭线)+实例分析相关的知识,希望对你有一定的参考价值。
计算机视觉系列教程13:透视几何原理[灭点、灭线]+实例分析
教程说明
章号 内容
0 色彩空间与数字成像(待定)
1 计算机几何基础
2 图像增强、滤波、金字塔
3 图像特征提取
4 图像特征描述
5 图像特征匹配
6 立体视觉
灭点(Vanishing Point)
考虑三维空间中的一条直线
{ x ( t ) = x 0 + a t y ( t ) = y 0 + b t z ( t ) = z 0 + c t \\begin{cases} x\\left( t \\right) =x_0+at\\\\ y\\left( t \\right) =y_0+bt\\\\ z\\left( t \\right) =z_0+ct\\\\\\end{cases} ⎩⎪⎨⎪⎧x(t)=x0+aty(t)=y0+btz(t)=z0+ct
其中 ( x 0 , y 0 , z 0 ) \\left( x_0, y_0, z_0 \\right) (x0,y0,z0)为直线上一点, t t t为参数。
根据相似三角形原理,有
{ z ( t ) f = x ( t ) u z ( t ) f = y ( t ) v ⇒ { u = f ( x 0 + a t ) z 0 + c t v = f ( y 0 + b t ) z 0 + c t \\begin{cases} \\frac{z\\left( t \\right)}{f}=\\frac{x\\left( t \\right)}{u}\\\\ \\frac{z\\left( t \\right)}{f}=\\frac{y\\left( t \\right)}{v}\\\\\\end{cases}\\Rightarrow \\begin{cases} u=\\frac{f\\left( x_0+at \\right)}{z_0+ct}\\\\ v=\\frac{f\\left( y_0+bt \\right)}{z_0+ct}\\\\\\end{cases} {fz(t)=ux(t)fz(t)=vy(t)⇒{u=z0+ctf(x0+at)v=z0+ctf(y0+bt)
其中 f f f为相机焦距。令 t → ∞ t\\rightarrow \\infty t→∞,则
{ u = f a c v = f b c {\\begin{cases} u=\\frac{fa}{c}\\\\ v=\\frac{fb}{c}\\\\\\end{cases}} {u=cfav=cfb
当
c
≠
0
c\\ne 0
c=0时,即空间直线与成像平面不平行时,该直线在成像平面上的投影为收敛于灭点(Vanishing Point)的线段, 如图所示;当
c
=
0
c=0
c=0时,则为正交投影,直线与成像面不存在透视关系,亦不存在灭点。
从灭点方程可见,灭点只取决于直线的方向,而与直线上具体的点无关,因此空间中不平行于成像平面的平行线将相交于同一个灭点。此外,相机中心与灭点连成的直线平行于原直线。
灭线(Vanishing Line)
将空间直线推广到空间平面可得类似的结论:空间平面与成像平面不平行时,该平面在成像平面上的投影为收敛于灭线(Vanishing Line)的区域,相互平行的空间平面在成像空间收敛于同一条灭线。灭线是该空间平面上所有空间直线灭点的集合。
空间水平面上的垂直结构在成像面上的投影可以提供相机或场景的几何信息,例如相机的姿态模式、场景物体高度推测等,列如表所示。
实例分析
下面给出几个实例。
如图所示,由于垂直结构在垂直方向上不存在灭点,且灭线穿过像素平面中心,因此根据表,此时相机成像平面不存在偏角(与水平面正交)。此外,图也说明了平行平面收敛于同一条灭线(海、天、木地板),平行直线相交于同一个灭点。
图2.4.3给出了基于透视几何高度估计的实例。
首先将图2.4.2(a)所示的源图片进行畸变修正,接着按图2.4.2(b)所示进行灭点、灭线估计。根据平行直线相交于同一灭点的几何关系,找出目标物对应的灭点,以及与该灭点对应的参考物,如图2.4.2中的目标物——人,以及参考物——柜子。通过参考物的几何信息,按比例映射到目标物,完成高度估计。此外,由于成像平面中垂直方向有灭点,亦能推测此时相机姿态模式——朝下。
下期预告:计算机视觉系列教程14:对极几何基本原理
以上是关于计算机视觉系列教程13:透视几何原理(灭点灭线)+实例分析的主要内容,如果未能解决你的问题,请参考以下文章
计算机视觉教程0-3:为何拍照会有死亡视角?详解相机矩阵与畸变
计算机视觉系列教程2-6:八大图像特效算法制作你的专属滤镜(附Python代码)