#ubuntu 16.04下visual SFM 的配置
参考文档
准备相关依赖文件
VisualSFM
SiftGPU
Multicore Bundle Adjustment
PMVS-2
CMVS
Graclus 1.2
文件提取: https://pan.baidu.com/s/1sGrw51m509PHguSEB4L5Ag 密码: yck6
文件链接:https://pan.baidu.com/s/1DylXz1m1uP5Y-tCpMGwajg 提取码:f9qs
-------------------(2023.2.19更新链接)
#开始
##1.Build VisualSFM
$ unzip VisualSFM_linux_64bit.zip
$ cd vsfm
$ make
##2.Build SiftGPU-V400
$ unzip SiftGPU-V400.zip
$ cd SiftGPU
$ make
$ cp bin/libsiftgpu.so ../vsfm/bin
##3.Build Multicore Bundle Adjustment (a.k.a. “pba”)
解压压缩包后,进入“pba/src/pba”
文件下编辑两个源文件“SparseBundleCU.h” and “pba.h”
.
在文件开始添加下面的库
#include <stdlib.h>
忘了说一点,本文没有配置GPU,所以在编译pba时,默认是编译gpu版本,倘若没有配置gpu时,请讲pba解压文件下的makefile删掉,同时将makefile_no_gpu改名为makefile。再进行make编译。
然后“~/vsfm/pba”
路径下输入make
进行编译。
##4.Hack PMVS-2
下载文件pmvs文件解压后按下面命令编译
$ tar xf pmvs-2.tar.gz
$ cd pmvs-2/program/main/
$ cp mylapack.o mylapack.o.backup
$ make clean
$ cp mylapack.o.backup mylapack.o
$ make depend
$ make
##5.Build Graclus 1.2
解压Graclus后,编辑“Makefile.in”
中去设置“-DNUMBITS=64″,如下
# What options to be used by the compiler
COPTIONS = -DNUMBITS=64
然后输入make
编译即可。
##6.Hack CMVS
$ cd ~/vsfm
$ tar xf cmvs-fix2.tar.gz
$ cp pmvs-2/program/main/mylapack.o cmvs/program/main/
接着编辑源文件“cmvs/program/base/cmvs/bundle.cc”
,在文档首部添加如下库
#include <vector>
#include <numeric>
再接着编辑 “cmvs/program/main/genOption.cc”
,一样在头首添加
#include <stdlib.h>
OK,接下来编辑CMVS Makefile(in cmvs/program/main)
,更改如下(记住替换“/home/scott/vsfm/” 为你自己的安装路径
)
#Your INCLUDE path (e.g., -I/usr/include)
YOUR_INCLUDE_PATH =
#Your metis directory (contains header files under graclus1.2/metisLib/)
YOUR_INCLUDE_METIS_PATH = -I/home/scott/vsfm/graclus1.2/metisLib
#Your LDLIBRARY path (e.g., -L/usr/lib)
YOUR_LDLIB_PATH = -L/home/scott/vsfm/graclus1.2
完事后,开始build编译,并复制生成的三个可执行文件
$ cd ~/vsfm/cmvs/program/main
$ make
$ cp cmvs ~/vsfm/vsfm/bin
$ cp pmvs2 ~/vsfm/vsfm/bin
$ cp genOption ~/vsfm/vsfm/bin
##7.Running VisualSFM
最后添加VisuakSFM到你的path以你的LD_LIBRARY_PATH,编辑~/.bashrc file
文件进行添加路径。
(记住替换“/home/scott/vsfm/” 为你自己的安装路径
)
export PATH=$PATH:/home/scott/vsfm/vsfm/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/scott/vsfm/vsfm/bin
##8.个人心得
其实前面的下载依赖库及编译都是很easy的,只要各位注意后面的6.Hack CMVS编辑CMVS Makefile,以及最后7.Running VisualSFM添加环境变量就好。