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]:
- 远处物体看起来比较小
- 平行线成像交于水平线上一点。水平线:令平行线确定平面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:
由以下几种变换组合而成
- rotation
- translation
- scaling
- shearing
仿射变换满足如下性质:
- 平行线经仿射变换后依旧是平行线
- 变换T的反变换是T^-1
- 如果变换T可以分解为先T1后T2,则T=T1*T2,反变换是T2^-1 * T1^-1
- 满足结合律
- 不满足交换律
如上 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:
Post a Comment