前言:前一段时间在看深度学习的视频,等我入了门,再来写深度学习的文章,哈哈哈哈
最近对双目立体视觉感兴趣,正好实验室有师兄在做三维重建,就开始学习了。
正文:
齐次坐标是多维空间的一个很重要的概念,如果理解不了,以后的学习会有很大困难。但很多地方讲解不够细致,我看到两篇文章后才恍然大悟。在这里记录以便今后学习。
1、首先,(1,4,7)代表一个点,还是一个向量?区分两者是引入齐次坐标的原因之一:
假设空间中,基为a,b,c 向量V可以找到坐标(V1,V2,V3),使V=V1a+V2b+V3c,
而对于点P,可以找到坐标(P1,P2,P3)使P - 0=P1a+P2b+P3c (0为0向量,为了表示点P,对原点0进行了位移。)
所以P=P1a+P2b+P3c +0
点和向量分别可以表示为:(以(a,b,c,0)为坐标基矩阵)
所以,(x,y,z,0)表示向量,而(x,y,z,1)表示点,我们就可以区分(x,y,z)到底是点还是向量了。
2、为什么齐次坐标有利于 平移变换?
但是不可能找到这样一个矩阵: 它与点无关,只表示平移变换。无论是哪个点,都可以用这个矩阵来平移。(你要是解这个方程,两边同时左乘r逆,会发现这个m矩阵肯定与r有关,不可能是每个点都能用的平移变换)
但是当我们引入新的一维度:,就能找到一个矩阵m=
,使得
这样就实现了平移,而且平移变换m只与矢量t有关,与哪个点无关。(第四维的1依然表示 它是个点)
3、如何变换 普通坐标和齐次坐标?
对于空间点P可以有一组齐次坐标,其中w不为零。例如(1,4,7,1)(0.1,0.4,0.7,0.1)
(2,8,14,2)等。
对于普通点p(p1,p2,p3),三个数同时乘w,加上一维w,就成了齐次坐标。
对于齐次坐标p(p1,p2,p3,m),四个数同时除以m,再减去最后一维,就成了普通坐标。
我是对两篇文章进行了整理总结的:
http://www.cnblogs.com/csyisong/archive/2008/12/09/1351372.html
https://www.zhihu.com/question/26655998