首先设计五个类:分别为Frame ,Camera,Mappoint,Map,和Config类。
一,在Canera类之中,我们存储相机的内参和外参,并且完成相机坐标系,像素坐标系以及世界坐标系之间的坐标变换。其中,相机的外参是变化的,由参数的形式传入。x,y,x_corrected,y_corrected(畸变纠正)都是归一化平面上的点。
将纠正的点通过内参数矩阵投影到像素平面,得到该点在图像上的正确位置。(cx cy 成像平面坐标系以及像素坐标系之间原点的关系)
fx_,fy_,cx_,cy_,depth_scale_5个变量前四个都是以像素为单位 f为焦距。
而dx和dy指的是每个像素个数的大小,即mm/pixel,那么经过换算最后得到的u、v的量纲自然也就是像素。fx和fy是由f/dx,f/dy计算而来,表示的是长度值为f时对应的像素个数,也即长度值为f(mm)时,在图像平面的x方向和y方向的像素个数
现以NiKon D700相机为例进行求解其内参数矩阵:
就算大家身边没有这款相机也无所谓,可以在网上百度一下,很方便的就知道其一些参数——
焦距 f = 35mm&nb