Apr 20, 2011

perspective and affine projection, perspective and affine transform

透视:三维世界坐标和图像坐标的关系。
1. camera and image frame

2. world coordinate and calibration
camera coordinate: x,y,z  in 
image coordinate: u,v
real world coordinate: Fig2


perspective projection 透视投影,小孔成像原理(薄透镜也符合透视投影),它的两个性质[1]:

  1. 远处物体看起来比较小
  2. 平行线成像交于水平线上一点。水平线:令平行线确定平面A,过原点做平行于A的平面交像平面于水平线

因此透视投影下,平行线成像会相交。
关于这两个性质的最佳例子是星球大战的片头,前后线一长一短,左右相交。
Star Wars
Affine projection:
假设物体景深一致或近似一致,即camera coordinate中,z一致。放射投影中,平行线的成像平行。

变换:2D 坐标变换。
Perspective transform:
参见这儿
opencv 中有函数
void cvFindHomography(
  const CvMat* src_points,
  const CvMat* dst_points,
  CvMat* homography
);


Affine transform:
由以下几种变换组合而成
  1. rotation
  2. translation
  3. scaling
  4. shearing
仿射变换满足如下性质:
  1. 平行线经仿射变换后依旧是平行线
  2. 变换T的反变换是T^-1
  3. 如果变换T可以分解为先T1后T2,则T=T1*T2,反变换是T2^-1 * T1^-1
  4. 满足结合律
  5. 不满足交换律

如上 rotation, translation 和 scaling 的反变换都比较直观。shearing 的反变换,有scaling.

    1.0000    0.1000         0
    0.2000    1.0000         0
         0         0    1.0000
的反变换为

    1.0204   -0.1020         0
   -0.2041    1.0204         0
         0         0    1.0000

仿射变换有六个参数,
T = a b e
      c d f
      0 01
可以通过三个点(6个坐标值)估计,三个点组成三角形。



参考文献
1. Computer vision: A modern approach
2. Transformation matrix

0 comments: