西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → 如何在 Ubuntu 编译安装 Bundler

如何在 Ubuntu 编译安装 Bundler

相关软件相关文章发表评论 来源:Joseph Pan时间:2011/4/3 22:29:18字体大小:A-A+

作者:Joseph Pan点击:636次评论:0次标签: Bundler

  • 类型:休闲益智大小:7.9M语言:中文 评分:10.0
  • 标签:
立即下载

什么是Bundler

  Bundler是一个采用C和C++开发的称为sfm(struct-from-motion)的系统,它能够利用无序的图片集合(例如来自网络的图片)重建出3D的模型。最早的版本被用在Photo Tourism的项目上。

  Bundler的输入是一些图像、图像特征以及图像匹配信息,输出则是一个根据这些图像反应的场景的3D重建模型,伴有少量识别得到的相机以及场景几何信息。系统借用一个由Lourakis 和Argyros提供的称为Sparse Bundle Adjustment的开发包的修改版,一点一点递增地重建出图像场景。Bundler已经成功的应用在许多网络相册系统,尤其是一些建筑相册里。

 前几天一直忙录公司招聘的事情,没有更新博客。上一篇博客我们讨论了Bundler的安装和配置,今天我们来讨论一下Bundler的编译方法。笔者主要是在Ubuntu进行下面的编译安装工作,而Windows下如果已经装了Cygywin,整个过程大同小异。

  编译安装Bundler比直接安装它编译好的二进制文件繁琐的多,因为它依赖的库较多。整个过程如下所示:

一、Bundler源码包的获取

1. 到 http://phototour.cs.washington.edu/bundler/下载Bundler的源码包。Windows用户可以直接下载 bundler-v0.4-source.zip;Linux用户可以直接下载 bundler-v0.4-source.tar.gz,或直接在终端运行如下代码获取源码包:

wget http://phototour.cs.washington.edu/bundler/distr/bundler-v0.4-source.tar.gz

2. 下载完成后,解压该源码包:

tar -zxvf bundler-v0.4-source.tar.gz

二、GFortran的安装

  Bundler所依赖的库中有些库是用Fortran写成的。为了编译Fortran程序,需要安装GFortran编译器。

sudo apt-get install gfortran

三、编译 / 安装依赖库

  Bundler所依赖的外部库列表如下:

  • LAPACK    :线性代数计算库

  • BLAS    :基础线性代数子程序,在LAPACK包中有自带,但需进行设置

  • libjpeg     :jpeg库,Ubuntu已自带

  • libz     :通用目的的压缩库

1. LAPACK、BLAS的编译

  LAPACK是一个高性能的线性代数计算库。我已经在Ubuntu下编译成功,不想编译它的读者可以直接下载我编译的结果lapack4Bundler.zip,解压后共3个文件,将它们拷贝到Bundler工程的lib文件夹里即可。如果想体验LAPACK的编译过程,则可以参考下面几步:

  首先下载LAPACK编译包,下载地址为: http://www.netlib.org/lapack/#_strong_lapack_version_3_3_0_strong,目前官方放出的最新版是lapack-3.3.0.tgz

wget http://www.netlib.org/lapack/lapack-3.3.0.tgz

  下载完后解压:

tar -zxvf lapack-3.3.0.tgz

  在make之前,需要先创建一个make.inc文件,可以直接根据make.inc.example创建:

cd lapack-3.3.0cp make.inc.example make.inc

  如果是使用Ubuntu+gfortran,则无须更改make.inc里的内容,否则需要根据系统环境和编译器修改文件里对应的选项。LAPACK依赖BLAS,因此在编译LAPACK前需要提供BLAS包,所幸LAPACK里已经集成了BLAS包,但默认并不编译它。要想编译LAPACK前先编译BLAS,需要修改一下makefile:

gedit Makefile

  光标定位到第11行并将内容改为:

lib: blaslib lapacklib tmglib

  保存退出,然后开始make整个工程。

make

  编译完成后,目录下将生成blas_LINUX.a、lapack_LINUX.a和tmglib_LINUX.a三个文件。如图1所示。

  

                         图1   LAPACK编译结果

  将这三个文件分别更名为: libblas.a,liblapack.a,libtmglib.a并复制到bundler-vX.X-source/lib目录下。

2. zlib的编译安装

   zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权。截至2007年3月,zlib是包含在Coverity的美国国土安全部赞助者选择继续审查的开源项目。

  zlib的官方主页为: http://www.zlib.net/,目前最新版为:zlib-1.2.5

wget http://zlib.net/zlib-1.2.5.tar.gz

  完成后解压:

tar -zxvf zlib-1.2.5.tar.gz

  cd进去编译安装:

cd zlib-1.2.5./configuremakesudo make install

四、编译安装Bundler

  回到Bundler的工程目录,make进行编译安装。

make

  完成后在bin目录下就会看到新生成的bundler可执行文件。

五、测试Bundler

  参考上一篇博文,将SIFT文件拷贝到bin目录,然后在终端执行:

./RunBundler.sh examples/ET

  完成后,提示运行成功,如图2所示。

图2  Bundler运行结果

作者:Joseph Pan (转载请注明出处http://www.cnblogs.com/weizhoupan/archive/2011/03/08/1977366.html )

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)