计算机视觉教程1-3:图解透视几何原理(灭点、灭线)
计算机视觉教程1-3:图解透视几何原理(灭点、灭线)
目录
- 1 灭点(Vanishing Point)
- 2 灭线(Vanishing Line)
- 3 实例分析
1 灭点(Vanishing Point)
考虑三维空间中的一条直线
{x(t)=x0+aty(t)=y0+btz(t)=z0+ct\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
其中(x0,y0,z0)\left( x_0, y_0, z_0 \right)(x0,y0,z0)为直线上一点,ttt为参数。
根据相似三角形原理,有
{z(t)f=x(t)uz(t)f=y(t)v⇒{u=f(x0+at)z0+ctv=f(y0+bt)z0+ct\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)
其中fff为相机焦距。令t→∞t\rightarrow \inftyt→∞,则
{u=facv=fbc{\begin{cases} u=\frac{fa}{c}\\ v=\frac{fb}{c}\\\end{cases}}{u=cfav=cfb
当c≠0c\ne 0c=0时,即空间直线与成像平面不平行时,该直线在成像平面上的投影为收敛于灭点(Vanishing Point)的线段,如图所示;当c=0c=0c=0时,则为正交投影,直线与成像面不存在透视关系,亦不存在灭点。
从灭点方程可见,灭点只取决于直线的方向,而与直线上具体的点无关,因此空间中不平行于成像平面的平行线将相交于同一个灭点。此外,相机中心与灭点连成的直线平行于原直线。
2 灭线(Vanishing Line)
将空间直线推广到空间平面可得类似的结论:空间平面与成像平面不平行时,该平面在成像平面上的投影为收敛于灭线(Vanishing Line)的区域,相互平行的空间平面在成像空间收敛于同一条灭线。灭线是该空间平面上所有空间直线灭点的集合。
空间水平面上的垂直结构在成像面上的投影可以提供相机或场景的几何信息,例如相机的姿态模式、场景物体高度推测等,列如表所示。
3 实例分析
下面给出几个实例。
如图所示,由于垂直结构在垂直方向上不存在灭点,且灭线穿过像素平面中心,因此根据表,此时相机成像平面不存在偏角(与水平面正交)。此外,图也说明了平行平面收敛于同一条灭线(海、天、木地板),平行直线相交于同一个灭点。
图2.4.3给出了基于透视几何高度估计的实例。
首先将图2.4.2(a)所示的源图片进行畸变修正,接着按图2.4.2(b)所示进行灭点、灭线估计。根据平行直线相交于同一灭点的几何关系,找出目标物对应的灭点,以及与该灭点对应的参考物,如图2.4.2中的目标物——人,以及参考物——柜子。通过参考物的几何信息,按比例映射到目标物,完成高度估计。此外,由于成像平面中垂直方向有灭点,亦能推测此时相机姿态模式——朝下。
🚀 计算机视觉基础教程说明
章号 内容
0 色彩空间与数字成像
1 计算机几何基础
2 图像增强、滤波、金字塔
3 图像特征提取
4 图像特征描述
5 图像特征匹配
6 立体视觉
7 项目实战
🔥 更多精彩专栏:
- 《ROS从入门到精通》
- 《机器人原理与技术》
- 《机器学习强基计划》
- 《计算机视觉教程》
- …