sparse bundle adjustment 摄影测量光束法平差程序库------编译

来源:互联网 发布:信捷plc流程梯图编程 编辑:程序博客网 时间:2024/05/01 18:18

    Sparse bundle adjustment(sba)即稀疏集束调整,现在广泛应用于计算机视觉领域,基本成为最后优化的标准算法,就是在已经得到的初始摄像机参数和三维点数据的基础针对投影误差进行优化,得到使得均方投影误差最小意义下的Motion和Structure。其算法的核心是利用Levenberg-Marquardt算法,由于视觉中问题的特殊性,造成矩阵稀疏,从而针对此特性进行求解。这篇博客我们对这个函数库进行编译。

   下面是我们所需要的库的下载地址:

   sba 1.6: http://users.ics.forth.gr/~lourakis/sba/ 

   clapack3:http://www.netlib.org/clapack/CLAPACK3-Windows.zip

   lapack是著名的矩阵运算库,是一以Fortran编程语言写就,用于数值计算的函式集。 LAPACK提供了丰富的工具函式,可用于诸如解多元线性方程式、线性系统方程组的最小平方解、计算特征向量、用于计算矩阵QR分解的Householder转换、以及奇异值分解等问题,也是sba库的依赖库,因此编译的时候需要将里面的lib文件添加到sba程序中才能成功的编译。

    我们把sba包解压到F盘根目录,可以看到他的主要结构如下图所示

  

同样的我们把CLAPACK3库解压,并把其中的clapack.lib ,blas.lib,libF77.lib,libI77.lib四个库文件拷到sba的文件夹中,如下图所示:

我们使用微软的Visual studio 2010编译程序库,打开vs2010的命令提示窗口:

  使用命令进入F盘的sba-1.6文件夹:

  在窗口中输入: F:

   然后输入  cd sba-1.6就进入了sba-1.6的文件夹中

我们使用makefile.vc这个文件进行编译,在命令提示窗口中输入 : nmake /f Makefile.vc

 

程序自动编译,结果如下:

这样我们在sba-1.6文件夹里面就可以看见生成的sba.lib库,我们要和前面的三个库一起使用,到此,sba库的编译到这里结束

1 0
原创粉丝点击