SLAM笔记(二)透视投影
来源:互联网 发布:js 数组存在元素 编辑:程序博客网 时间:2024/05/24 05:24
1.内参数矩阵
相机坐标系:以光心为原点,以正对物体的方向为z轴正方向的左手坐标系。在双目中一般以做摄像头光心为原点。
世界坐标系:以世界某一点为原点的左手坐标系
图像坐标系(像(平)面坐标系):成像平面上以像面中心
像素坐标系:和像面坐标系的差别是原点
将世界坐标系的一点P[X,Y,Z],转换到像 二维坐标系中对应的一点p[x’,y’](单位为像素):
(1-1)
式(1-1)从右往左看:
1)左乘
2)再左乘
3)继续左乘
4)
常称为
称
另有球面投影
与一般投影的区别在于此处
2.畸变
理论上的透镜没有畸变,但实际制造中,透镜不能制造成理想透镜(径向畸变),和不能使透镜和成像仪保持平行(切向畸变)。
径向畸变意味着实际镜头越往边缘畸变越大,在成像边缘发生显著畸变。其纠正公式为:
x,y是纠正后的
切向畸变公式为:
所以一般畸变参数有4个(径向畸变还可往高阶,参数更多),实际中一般不考虑切向畸变
preimage:像平面上一条直线L的preimage指的是过光心与直线L的平面,一个点P的preimage指的是过光心与点P的直线。所以preimage是可能会投影到该点或该直线的所有空间三维点的集合,它构成了一个二维的空间。
coimage指的是与preimage正交的点的集合。直观上是:与直线的preimage(一个平面)垂直的直线是coimage;与点的preimage(一条直线)垂直的平面是coimage。
总结:
1.相机外参数矩阵。告诉你现实世界点(世界坐标)是怎样经过旋转和平移,然后落到另一个现实世界点(摄像机坐标)上。
2.相机内参数矩阵。内参数矩阵M:将空间三维点投影到像平面上的二维点(注意顺序关系)的矩阵。
3.畸变矩阵。告诉你为什么上面那个像素点并没有落在理论计算该落在的位置上,还tm产生了一定的偏移和变形;
4.单应性矩阵H:一个平面上的点到另一个平面上的点的投影映射矩阵。多视场中会用到。
5.本征矩阵E:(以双目视觉为例)将真实世界中的点P在左摄像机观测到的(左摄像机坐标系的)三维坐标Pl与右摄像机观测到的点P的(右摄像机坐标系中的)三维坐标Pl关联起来的矩阵。
6.基础矩阵F:(以双目视觉为例)将点P投影到左摄像机图像坐标系中的二维坐标和右摄像机图像坐标系中的二维坐标点关联起来的矩阵。
- SLAM笔记(二)透视投影
- 透视投影(Perspective Projection)
- CG笔记之一——透视投影
- D3D9 SDK文档笔记7---透视投影
- 透视投影
- 透视投影
- 透视投影
- 透视投影
- 透视投影
- 透视投影
- 透视投影
- SLAM学习笔记(二)数据采集
- 透视投影(Perspective Projection)变换推导
- 透视投影原理(只有网址)
- WebGL之旅(十一)透视投影
- 透视投影详解(Dx 透视投影推导)
- OpenGL 正交投影、透视除法、透视投影
- 透视投影与正交投影
- JAVA_环境变量设置
- Thread pool
- vue-cli#2.0 webpack 配置分析
- 利用构造者模式创建Dialog
- Java_调用webservice接口
- SLAM笔记(二)透视投影
- 基线漂移的几种方法
- Java_Zip
- Java_使用axis1.4调用WebService简单示例
- iOS自定义Modal
- Android-设置Activity进入退出动画
- EditText输入小数位限制
- Java_解析XML的四种方法
- python作业2