西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → 如何在 Ubuntu 編譯安裝 Bundler

如何在 Ubuntu 編譯安裝 Bundler

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:Joseph Pan時間:2011/4/3 22:29:18字體大小:A-A+

作者:Joseph Pan點擊:636次評論:0次標(biāo)簽: Bundler

  • 類型:休閑益智大。7.9M語言:中文 評分:10.0
  • 標(biāo)簽:
立即下載

什么是Bundler

  Bundler是一個采用C和C++開發(fā)的稱為sfm(struct-from-motion)的系統(tǒng),它能夠利用無序的圖片集合(例如來自網(wǎng)絡(luò)的圖片)重建出3D的模型。最早的版本被用在Photo Tourism的項目上。

  Bundler的輸入是一些圖像、圖像特征以及圖像匹配信息,輸出則是一個根據(jù)這些圖像反應(yīng)的場景的3D重建模型,伴有少量識別得到的相機以及場景幾何信息。系統(tǒng)借用一個由Lourakis 和Argyros提供的稱為Sparse Bundle Adjustment的開發(fā)包的修改版,一點一點遞增地重建出圖像場景。Bundler已經(jīng)成功的應(yīng)用在許多網(wǎng)絡(luò)相冊系統(tǒng),尤其是一些建筑相冊里。

 前幾天一直忙錄公司招聘的事情,沒有更新博客。上一篇博客我們討論了Bundler的安裝和配置,今天我們來討論一下Bundler的編譯方法。筆者主要是在Ubuntu進行下面的編譯安裝工作,而Windows下如果已經(jīng)裝了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    :線性代數(shù)計算庫

  • BLAS   。夯A(chǔ)線性代數(shù)子程序,在LAPACK包中有自帶,但需進行設(shè)置

  • libjpeg     :jpeg庫,Ubuntu已自帶

  • libz    。和ㄓ媚康牡膲嚎s庫

1. LAPACK、BLAS的編譯

  LAPACK是一個高性能的線性代數(shù)計算庫。我已經(jīng)在Ubuntu下編譯成功,不想編譯它的讀者可以直接下載我編譯的結(jié)果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之前,需要先創(chuàng)建一個make.inc文件,可以直接根據(jù)make.inc.example創(chuàng)建:

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

  如果是使用Ubuntu+gfortran,則無須更改make.inc里的內(nèi)容,否則需要根據(jù)系統(tǒng)環(huán)境和編譯器修改文件里對應(yīng)的選項。LAPACK依賴BLAS,因此在編譯LAPACK前需要提供BLAS包,所幸LAPACK里已經(jīng)集成了BLAS包,但默認并不編譯它。要想編譯LAPACK前先編譯BLAS,需要修改一下makefile:

gedit Makefile

  光標(biāo)定位到第11行并將內(nèi)容改為:

lib: blaslib lapacklib tmglib

  保存退出,然后開始make整個工程。

make

  編譯完成后,目錄下將生成blas_LINUX.a、lapack_LINUX.a和tmglib_LINUX.a三個文件。如圖1所示。

  

                         圖1   LAPACK編譯結(jié)果

  將這三個文件分別更名為: libblas.a,liblapack.a,libtmglib.a并復(fù)制到bundler-vX.X-source/lib目錄下。

2. zlib的編譯安裝

   zlib是提供數(shù)據(jù)壓縮用的函式庫,由Jean-loup Gailly與Mark Adler所開發(fā),初版0.9版在1995年5月1日發(fā)表。zlib使用DEFLATE算法,最初是為libpng函式庫所寫的,后來普遍為許多軟件所使用。此函式庫為自由軟件,使用zlib授權(quán)。截至2007年3月,zlib是包含在Coverity的美國國土安全部贊助者選擇繼續(xù)審查的開源項目。

  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可執(zhí)行文件。

五、測試Bundler

  參考上一篇博文,將SIFT文件拷貝到bin目錄,然后在終端執(zhí)行:

./RunBundler.sh examples/ET

  完成后,提示運行成功,如圖2所示。

圖2  Bundler運行結(jié)果

作者:Joseph Pan (轉(zhuǎn)載請注明出處http://www.cnblogs.com/weizhoupan/archive/2011/03/08/1977366.html )

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)