相机成像原理(四个坐标系转换)
来源:互联网 发布:福利彩票预测软件 编辑:程序博客网 时间:2024/05/17 21:22
转载自:http://blog.csdn.net/chentravelling/article/details/53558096
0.前言
最近整理了“相机成像原理”和“视差与深度信息”相关的资料,然后做成了PPT,以备自己用,也提供给相关的图像、视觉方向的朋友参考。如有误,望海涵并指出。
1.正文
图像处理、立体视觉等等方向常常涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。例如下图:
构建世界坐标系只是为了更好的描述相机的位置在哪里,在双目视觉中一般将世界坐标系原点定在左相机或者右相机或者二者X轴方向的中点。
接下来的重点,就是关于这几个坐标系的转换。也就是说,一个现实中的物体是如何在图像中成像的。
1.1世界坐标系与相机坐标系
于是,从世界坐标系到相机坐标系,涉及到旋转和平移(其实所有的运动也可以用旋转矩阵和平移向量来描述)。绕着不同的坐标轴旋转不同的角度,得到相应的旋转矩阵,如下图所示:
那么从世界坐标系到相机坐标系的转换关系如下所示:
1.2相机坐标系与图像坐标系
从相机坐标系到图像坐标系,属于透视投影关系,从3D转换到2D。
此时投影点p的单位还是mm,并不是pixel,需要进一步转换到像素坐标系。
1.3图像坐标系与像素坐标系
像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。图像坐标系的原点为相机光轴与成像平面的交点,通常情况下是成像平面的中点或者叫principal point。图像坐标系的单位是mm,属于物理单位,而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列。所以这二者之间的转换如下:其中dx和dy表示每一列和每一行分别代表多少mm,即1pixel=dx mm
那么通过上面四个坐标系的转换就可以得到一个点从世界坐标系如何转换到像素坐标系的。
其中相机的内参和外参可以通过张正友标定获取(戳这里查看张正友标定的资料)。通过最终的转换关系来看,一个三维中的坐标点,的确可以在图像中找到一个对应的像素点,但是反过来,通过图像中的一个点找到它在三维中对应的点就很成了一个问题,因为我们并不知道等式左边的Zc的值。
关于三维重建不是我的方向,但是深度值的获取是我项目中的一个需要解决的问题,这将涉及到后面的立体视觉知识。
- 相机成像原理(四个坐标系转换)
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
- 相机标定之(2)相机模型中的四个坐标系以及相机标定的原理总结
- 记录:成像与坐标系转换
- 【图像处理】相机成像原理
- 相机的坐标系转换(1)
- 聊一聊:相机篇1基本成像原理
- 相机成像时远小近大的数学原理
- 【笔记】世界坐标系和相机坐标系的转换
- OpenGL模拟相机成像
- 监控相机成像相关
- 小孔成像与相机
- 相机成像模型
- 相机针孔模型----从世界坐标系,到相机坐标系,再到图像物理坐标系,最后到图像像素坐标系的转换过程解析
- 数据挖掘中常用的数据清洗方法有哪些?
- hahahaha
- Matlab 之 im2col 函数用法
- 桶排序java
- 【DevExpress v17.2新功能预告】DevExpress ASP.NET Scheduler新的自适应功能
- 相机成像原理(四个坐标系转换)
- python自动化环境配置,appium,sdk,python,selenium等环境配置
- 剑指offer-跳台阶
- abbr标签获取属性值的问题
- 关于ftp文件服务器上传下载遇到的一些坑
- Java 集合 ArrayList、LinkedList(一)
- How to Install OpenCV (3.3.0) on Jetson TX2
- IOS界面推界面如何回到root界面
- 重磅嘉宾邀你共同探秘Google Project Fi | 硅谷活动