三维重建之图形变换
依旧是对鲁鹏老师的计算机视觉之三维重建课程 进行整理,在加上一些自己的理解。
在进行三维重建时,使用的都是齐次坐标(为什么要用齐次坐标?),故这里的变换都是针对图形的齐次坐标。
2D平面中的变换
· 等距变换
等距变换是指变化前后,图形中任意两点之间的距离保持不变。用矩阵表示则为:
当上式中的
保向变换(欧式变换)
保向变换主要对图形进行平移和旋转操作,其矩阵表示为:
其中,
简单推导:
如上图,点
加上平移以后,即得到:
将上式使用矩阵表示,则为前面的欧式变换矩阵。
· 相似变换
相似变换与欧式变换的差异主要是,相似变换可以进行均匀伸缩变化,即分别在
所以,相似变换即可以由前面欧式变换中的平移、旋转和上面的伸缩变换一起得到:
该变换拥有4个自由度,分别是旋转角度
· 仿射变换
仿射变换相对于相似变换有着更多的自由度,该变换后,将不再维持线段间的夹角大小。但是,线段间的平行性、平行线段间的长度比值以及图形中面积的比值还是维持不变的。该变换使用矩阵表示为:
· 射影变换(透视变换)
射影变换即为透视变换,在日常中我们通过眼睛看到的图像,其实就是使用的透视变换,尽管那是在3D空间中做的透视变换,但是其原理是差不多的。透视变换之后,平行线之间的关系将被破坏,但同一直线上的点,将仍旧在一条直线上,且共线点之间的交比仍旧维持。该变换使用矩阵表示为:
3D空间中的变换
在3D空间中的变换和2D平面中的变换没有本质区别,只是增加了一个维度。
· 相似变换
3D空间中的相似变换,可以分解为分别忽略
其中,
所以,在3D空间中进行相似变换,拥有平移
· 仿射变换
拥有12个自由度。
· 射影变换(透视变换)
拥有15个自由度。