• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

如何在Ubuntu编译安装Bundler

时间:2015年04月02日 15:36:09    来源:魔法猪系统重装大师官网    人气:6794

  

什么是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.0
cp 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
./configure
make
sudo 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 )

 

如,何在,Ubuntu,编译,安装,Bundler,什么,是
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部