计算机视觉之相机模型推导建立过程

前言:

发呆了一个寒假,在开学之前干点什么吧~

欢迎指出文章的不足之处~

//---------------------------------------------------------------------------------------------------------------------------

世界坐标系:物体的真实世界坐标(三维)

相机坐标系:相对于相机建立的坐标系(三维)

图像坐标系:成像面上以光轴为原点的坐标系(二维)

像素坐标系:成像面上以左上角为原点的坐标系(二维),注意单位是整形的,因为像素是一个一个的。

齐次坐标:可以简单的理解成用多一维表示低纬的坐标。

例如的齐次形式可以表示为,对应的关系为

x=X/Z

y=Y/Z

一般可以令Z=1,则x=X,y=Y

相机成像的原理就是小孔成像的原理如图所示。

由于小孔成像会导致成像翻转问题,一般相机都会处理成正立的图像。数学上直接把成像面放置到小孔前面,这样思考问题会比较简单,并且结果一致

接下来开始推导相机成像的数学模型,所用到的数学知识也只有相似三角形的知识。

设P(Xc,Yc,Zc),p(X,Y,Z),根据相似三角形的知识,可以得到

X=Xc/Zc*f

Y=Yc/Zc*f

Z=f

到这里已经把相机坐标系转化到了图片坐标系,但是我们常用的是像素坐标系,所以还要继续进行转化。

设p点的像素坐标为(u,v),每个像素块的宽度是dx,高度是dy(可以将图片想象成一个矩阵,里面密集的排列着很多个光感器件,每个光感器件便是一个像素,光感器件的宽度便是dx,高度便是dy),理想情况下(cx,cy)为图像的中心点,但是由于相机安装制作过程中会有这样或那样的问题,所以一般来说cx,cy不会刚刚好是图片的中心点。则u-cx=X/dx,v-cy=Y/dy

变形并且带入之前所推导的结果,可得

u=Xc/Zc*fx+cx

v=Yc/Zc*fy+cy

其中

fx=f/dx

fy=f/dy

将上式子写成矩阵的形式为

称矩阵为内参数矩阵。

到目前位置,我们所有的一切都是建立在相机坐标系上的推导,但是一般来讲,世界坐标系和相机坐标系不会是同一个,我们需要将世界坐标系转换到相机坐标系。任何两个三维坐标系之间都只差一个旋转矩阵R和平移矩阵t,Pc=RPw+t

R是一个3*3的正交矩阵,t是一个3*1的向量。

将R和T写在一起,并且表示为齐次坐标的形式为

T称为外参数矩阵,将内外参数矩阵写在一起

到此便是整个相机模型了,注意有Zc

之后若有兴趣可以接着看标定的文章

相机标定的数学原理及其推导过程

参考连接:

https://www.cnblogs.com/wangguchangqing/p/8126333.html

猜你喜欢

转载自blog.csdn.net/Dang_boy/article/details/79372568