【多视图几何】TUM 课程 第3章 透视投影
来源:互联网 发布:网络信息安全书籍 编辑:程序博客网 时间:2024/05/19 01:29
课程的 YouTube 地址为:https://www.youtube.com/playlist?list=PLTBdjV_4f-EJn6udZ34tht9EVIW7lbeo4。视频评论区可以找到课程所使用课件与练习题的下载地址。
第3章介绍了透视投影、相机内参、畸变矫正、原像与余像的概念。
1. 数学表示
1.1 从相似三角形开始
用一张图表示相机成像的光学过程(小孔成像)。
图中
图中蓝色标明的三角形与红色标明的三角形相似:
同理在像平面另一个方向
式子中存在负号是因为成的像是倒像,与原像是中心对称的关系。这样计算很不方便,于是将成像平面从焦点
翻转之后的成像如下所示:
总结一下,透视投影是将三维点坐标投影到平面形成二维点坐标:
以上是使用薄透镜时的透视原理,使用厚透镜时光线在透镜内部存在不可忽略不计的折射,需要进行变形纠正。
1.2 矩阵表示
将投影过程在齐次坐标下用矩阵表示:
这里引入了两个新的矩阵
假设物体离相机很远,其景深
其中
1.3 从世界坐标系到相机投影平面
上式中的
由上一章的内容可知,相机当前坐标系坐标与世界坐标系坐标之间的转换关系如下:
所以从世界坐标系坐标到相机投影平面坐标系坐标的转换关系为
还可以做进一步的简化,如果将相机投影平面坐标系的单位长度设置为焦距
2. 相机内参
上面的公式推导是世界坐标系坐标转化为相机投影平面坐标系坐标,相机投影平面坐标系坐标的单位是 m,但使用相机拍摄的影像时我们读取的是像素坐标,所以还需要进一步的坐标转换。进一步的坐标转换如下:
这里引入了新的矩阵
矩阵
ox,oy 相机相主点在相机投影平面坐标系下的像素坐标,单位为 pixel;sx(sy) 在x(y) 方向上单位长度包含的像素个数,单位为 pixel / m;sθ 在像素形状为矩形时值为0,像素形状为平行四边形时值不为0,一般像素形状都为矩形,该值为0。
定义相机内参矩阵为
将
这里定义了一个新的矩阵
3. 球面投影
小孔相机的透视模型是将影像投影在平面上,同样的影像也可以投影在球面上。
将影像投影到单位球面
- 【多视图几何】TUM 课程 第3章 透视投影
- 【多视图几何】TUM 课程 第2章 刚体运动
- 【多视图几何】TUM 课程 第6章 多视图重建
- 【多视图几何】TUM 课程 第5章 双视图重建:线性方法
- 【多视图几何】TUM 课程 第1章 数学基础:线性代数
- 【多视图几何】TUM 课程 第4章 同名点匹配
- Android 3D游戏开发 正交投影视图与透视投影视图
- 3D数学透视投影
- 透视投影
- 透视投影
- 透视投影
- 透视投影
- 透视投影
- 透视投影
- 透视投影
- 丹麦哥本哈根大学计算机系 硕士课程讲义--3D计算机视觉(多视图几何)
- 3d透视投影函数的理解
- 透视投影详解(Dx 透视投影推导)
- java定时框架Quartz的简单应用
- java中 jsjconsole监视tomcat
- 编译Cocos2d-x3.0的Test-Cpp demo为apk和ipa程序教程(含下载地址)
- LeetCode Number Complement
- css input文本框获取焦点
- 【多视图几何】TUM 课程 第3章 透视投影
- android_64_drawBitmap_canvas_matrix
- 使用XCode6.0.1将Cocos2d-x3.1工程打包ipa(支持iOS8)
- PHP 驱动 MongoDB 的方法和技巧
- MarshalAs的使用数据封装,非托管和托管。
- Maven Dependencies中的jar包丢失
- 自定义控件要用到的知识
- Android Studio 换系统如何继续使用(windows系统)
- shiro配置