SLAM学习——相机与图像
2017-07-10 16:05
316 查看
1.针孔模型
一般而言,我们通过小孔成像来描述相机的成像原理,对其进行数学建模,如下图所示。其中O-x-y-z为相机坐标系,O’-x’-y’-z’为成像平面物理坐标系,o-u-v为像素坐标系,通过此几何模型,我们可以得到:Z/f=-X/X’=-Y/Y’,其中负号表示这个在成像平面上所形成的像是倒的,我们可以对该模型进行一定的处理,将负号去掉,得到以下模型:
以上分别为真实成像平面、对称成像平面、归一化成像平面。其中像素坐标系的定义为:原点定义在左上角上,u轴与x轴平行,v轴与y轴平行。像素坐标系与成像坐标系相差了一个缩放和原点的平移。设在u轴缩放了αα
倍,在 v 轴缩放了ββ 倍,原点平移了[cx,cy]T[cx,cy]T,则成像平面上的点P’与像素坐标的关系为:
{u=αX′+cxv=βY′+cy{u=αX′+cxv=βY′+cy
将像素平面与摄像机坐标系上的点P(X,Y,Z)P(X,Y,Z)联系起来,在这里,我们设fx=αffx=αf ( ff 表示焦距),fy=βffy=βf,则可得到以下公式:
{u=fxXZ+cxv=fyYZ+cy{u=fxXZ+cxv=fyYZ+cy
其中,f 的单位为米,αα,ββ单位为像素/米,fxfx,fyfy的单位为像素,写成齐次坐标为:
⎛⎝⎜uv1⎞⎠⎟=1Z⎛⎝⎜fx000fy0cycy1⎞⎠⎟⎛⎝⎜XYZ⎞⎠⎟=1ZKP=1ZK(RP+t)(uv1)=1Z(fx0cy0fycy001)(XYZ)=1ZKP=1ZK(RP+t)
则K代表的是内参,若需要将世界坐标点转换到,只需要对上述基于摄像机坐标系的空间点P转化到基于世界坐标系的空间点P’即可。以上我们得到了像素坐标系,成像坐标系,摄像机坐标系,世界坐标系上点的转换关系。其中涉及到一个归一化平面,相当于焦距为单位化了,这里不详细说明。
2.镜头畸变
对于畸变而言,可分为径向畸变和切向畸变,在这里我们只考虑径向畸变{xdistorted=x(1+k1r2+k2r4+k3r6)ydistorted=y(1+k1r2+k2r4+k3r6)}{xdistorted=x(1+k1r2+k2r4+k3r6)ydistorted=y(1+k1r2+k2r4+k3r6)}
其中(x,y)为归一化平面上的点,(xdistorted,ydistorted)(xdistorted,ydistorted) 为畸变后的点。在畸变纠正模型中,对于畸变较小的图像中心区域,主要是k1起作用,对于畸变较大的边缘区域,主要是k2起作用。
在这里补充一下归一化平面的知识,归一化平面位于相机前方z=1处的平面,因此上面的点z坐标的值恒等于1.有以下关系式:
在以上公式中,PwPw基于世界坐标系,Pc˜Pc~ 基于摄像机坐标系,PcPc 基于归一化平面。T为世界坐标系到摄像机坐标系的转换矩阵。
单目相机成像过程:世界坐标系P(X,Y,Z)——> 摄像机坐标系P’(X’,Y’,Z’)——>归一化平面上的点p(X’/Z’,Y’/Z’,1)(或者焦距为f的点p)——>进行畸变矫正得到的点p′(xdistorted,ydistorted)p′(xdistorted,ydistorted)——>通过内参得到像素上的点p′′(u,v)p″(u,v)。
3.图像像素
灰度图:在一张灰度图中,每个像素位置(x,y)对应一个灰度值II,所以,一张宽度为w、高度为h的图像,数学上可以记做一个矩阵: mathitI(x,y)∈Rw×hmathitI(x,y)∈Rw×h。由于计算机不能表达整个实数空间,所以常见的灰度图中,用0-255的整数来表达图像的灰度大小。故一张宽度为640像素、高度为480像素分辨率的图像图就可以表示为:
usigned char image[480][640]
RGB-D:在RGB深度图中,记录了各个像素与相机之间的距离,这个距离通常以毫米为单位,而RGB-D相机的量程通常在10几米之外,超过了255.采用16位整数来记录深度图,也就是位于0-65536的值。
彩色图像:彩色图像需要有通道的概念。计算机中,用红绿蓝这三种颜色的组合来任意表示,于是对于每一个像素,就要记录R、G、B三个数值,每个数值称为一个通道。例如,最常见的彩色图有三个通道,每个通道由8位整数表示,在这种规定下,一个像素占据24位空间。
相关文章推荐
- 半闲居士视觉SLAM十四讲笔记(5)相机与图像 - part 2 图像及 OpenCV 操作、点云拼接
- SLAM学习:相机标定(张氏标定)及opencv应用
- VisionPro学习笔记:用IEEE1394相机抓取图像
- 虚幻引擎学习之路:相机图像后处理
- 半闲居士视觉SLAM十四讲笔记(5)相机与图像 - part 1 相机模型
- XSL学习心得-制作图像超链接
- PHP学习笔记6 - 图像
- HTML学习笔记:图像标记
- HTML and CSS 学习笔记-第10章 图像链接和图像映射
- 背景图像和图像替换--Css学习笔记(三)
- CSS基础应用学习系列(3)——图像的CSS阴影效果
- OpenCV学习之图像处理[1]
- Symbian学习笔记(4):在GUI应用中使用图像
- 学习CSS的背景图像属性background
- Symbian学习笔记(5)——加载JPEG图像的方法
- CSS基础应用学习系列(1)——基于图像的翻转
- GDI+ 学习记录(28): 图像颜色的数据格式 - PixelFormat
- Symbian学习笔记(4)——在GUI应用中使用图像
- 关于MATLAB图像处理学习笔记20070929
- 今天开始学习图像编程