趁现在想的比较清晰,赶紧写一下
1.概念
- 世界坐标系
- 物体再空间中的坐标,说白了就是除了相机坐标系外(其实相等也没关系)的另一个坐标系,可以以空间任意一个点建立坐标系
- 相机坐标系
- 相机的成像是位于感光元件上,可以想象再往里存在一个相机的原点,以它建立相机坐标系
- 像素坐标系
- 把相机坐标系的坐标做一次变换,得到常用的平面像素坐标(此时z=1)
2.成像模型
点光源成像:
若光源在无限远处 u->无穷大,光线近似平行光,v 近似等于 F,成像面几乎和焦点重合,变为小孔成像模型。
而相机的焦平面上就是感光元件,它所能接纳的光线范围大小 WC-DZ 就是视角范围。
3.空间变换
(ps: 其中的Px,Px’ 做了对称处理; Pw和Pc是空间两个不同坐标系下的同一个点)
想象空间存在一个点P,要把它转换到相机的画面中,也就是3维坐标变到2维坐标(伪);
- 空间坐标系下P点坐标(原点:空间任意点)
- 相机坐标系内P点坐标(原点:焦点)
- 相机坐标系成像面P’点坐标
- 空间3x3的旋转矩阵R
- 知道3个旋转角即可确定旋转矩阵。
- 也就是空间坐标系应该沿x,y,z轴怎么扭才能和相机坐标系朝向一致
- 空间3x1的平移矩阵T
- 即朝向一致后,把空间坐标系原点和相机坐标系原点拉重合所需的位移向量;
- 相机内参矩阵K
- 相机坐标系内的点到成像面的变换矩阵;
- 畸变系数
-
径向畸变系数 k1,k2,k3
-
切向畸变系数 p1,p2
-
总之以上两个畸变矫正可以理解为 (x,y) -> (x’,y’)的修正
-
存在关系:
此公式就实现了两个坐标系的变换。问题在于 R 和 T 的确定,可以从后面的像素坐标系(u,v,1)往前倒推计算即可。
然后要把相机坐标系上的空间点转换到成像面上的坐标:
由点光源成像模型知道,不同距离镜片的物体,成像面距离是不一样的。成像后的相机坐标系里成像面上P点坐标:
其中的Zx 并不固定。
由于相机镜片的工艺问题,存在径向畸变、切向畸变。
最后就是把坐标归一化到 Zx = 1 的成像平面上
(u,v)就是像素平面上的二维坐标。
如有错误,劳烦指出,一起讨论
ref: https://www.zhihu.com/question/33793912