Computer Vision: Algorithms and Applications(学习笔记二)--geometric primitives

基本的几何基元包括:2D点、2D直线、3D点、3D平面和3D直线

2D几何基元

2D点:图像上的坐标点可以用一对数值表示这里写图片描述,或者:
这里写图片描述

也可以用齐次坐标这里写图片描述表示,即用高一维的坐标表示,可以将齐次矢量这里写图片描述转换为非齐次矢量这里写图片描述,这一过程叫做正常化处理。其中这里写图片描述叫做增广矢量。
这里写图片描述

为什么需要进行齐次变换呢?举个例子,当我们需要对坐标点这里写图片描述进行仿射变换时,有平移、旋转、缩放的变换,其中平移是矩阵相加,而旋转是矩阵相乘,公式如下:
这里写图片描述

则需要对点坐标这里写图片描述先乘一个矩阵,再加一个矩阵,但是当我们进行其次变换后,可以改写公式为:
这里写图片描述

故可以有效的简化矩阵计算,对于点和矢量,都具有旋转、缩放的性质,而矢量不同与点,矢量不具有平移的计算,故为了区分矢量和点的齐次变换,对于点坐标这里写图片描述,变换为这里写图片描述,而对于矢量这里写图片描述,变换为这里写图片描述

2D直线:2D直线也可用齐次坐标表达这里写图片描述,对应直线方程为:
这里写图片描述

将直线方程规范化处理,得到这里写图片描述,其中这里写图片描述,则 为垂直于直线的法向量,这里写图片描述为直线到原点距离。

也可将这里写图片描述表示为旋转角度这里写图片描述的函数,即 这里写图片描述,这种表达式可用于霍夫变换检测直线的算法,这里写图片描述称为极坐标。

Computer Vision: Algorithms and Applications(学习笔记二)--geometric primitives_第1张图片

使用齐次坐标时,计算两直线的交点:
这里写图片描述

其中×为叉积符号,连接两点的直线为:
这里写图片描述

3D几何基元

3D点:即三维点坐标这里写图片描述,齐次坐标可写为这里写图片描述

3D平面:2D直线也可用齐次坐标表达这里写图片描述,对应平面方程为:
这里写图片描述

将平面方程规范化处理,得到这里写图片描述,其中这里写图片描述,则 为垂直于平面的法向量,这里写图片描述为直线到原点距离。
Computer Vision: Algorithms and Applications(学习笔记二)--geometric primitives_第2张图片

也可将这里写图片描述表示为旋转角度这里写图片描述这里写图片描述的函数,即这里写图片描述,即使用球面坐标,但是并不像极坐标那样常用,因为无法再可能的向量空间均匀分布(当这里写图片描述随机时, 在极坐标上均匀分布,而当这里写图片描述这里写图片描述随机时, 在球面坐标上无法均匀分布)。

3D直线:3D直线的一种表示方法就是用两个点坐标这里写图片描述的线性组合 。
这里写图片描述

如果将3D直线看作3D点在三维矢量方向的延长线,可写作:
这里写图片描述

Computer Vision: Algorithms and Applications(学习笔记二)--geometric primitives_第3张图片

但是2个3D点或者1个3D点+1个三维矢量,这两种表示方法变量均为6个,而真正的3D直线的自由度为4。为了得到自由度为4的3D直线表示方法,可对于不平行于平面这里写图片描述的直线,用直线于平面这里写图片描述和平面这里写图片描述的交点这里写图片描述这里写图片描述表示,则自由度为4,这种两平面参数化在光场和照度图中用到。

几何基元自由度

确定一个系统在空间中的位置所需要的最小坐标数。例如火车车厢沿铁轨的运动,只需从某一起点站沿铁轨量出路程,就可完全确定车厢所在的位置,即其位置用一个量就可确定,我们说火车车厢的运动有一个自由度;汽车能在地面上到处运动,自由程度比火车大些,需要用两个量才能确定其位置,我们说汽车的运动有两个自由度;飞机能在空中完全自由地运动,需要用三个量才能确定其位置,我们说飞机在空中的运动有三个自由度。所谓自由度数就是确定物体在空间的位置所需独立坐标的数目。

一般情况下,齐次坐标为几何基元的自由度坐标加1:

  • 对于2D点,由x坐标与y坐标唯一确定,自由度为2,齐次坐标项为3;
  • 对于2D直线,由直线斜率与直线距离原点距离唯一确定,自由度为2,齐次坐标项为3;
  • 对于3D点,由x坐标、y坐标和z坐标唯一确定,自由度为3,齐次坐标项为4;
  • 对于3D平面,由平面交原点的法向量唯一确定,则自由度与3D法向量点相同,自由度为3,齐次坐标项为4;
  • 对于3D直线,前文讨论过,自由度为4,齐次坐标项为5;
  • 对于N维空间直线,直线自由度为2N-2,线段为2N。

你可能感兴趣的:(学习笔记)