Ubuntu18.04配置VisualSFM还是有一些坑的,记录一下。VisualSFM有GPU和NO_GPU两个版本,之前配置的是NO_GPU版本,运行正常,后来配置GPU版本,出了问题点,可能是版本问题。
源文件下载地址:
链接: https://pan.baidu.com/s/1o7CmUJuAIlbhUOorxRj5Bw 提取码: svnq
#参考资料
http://www.10flow.com/2012/08/15/building-visualsfm-on-ubuntu-12-04-precise-pangolin-desktop-64-bit/(GPU版)
https://rasparchaeo.wordpress.com/2015/02/26/install-visualsfm-linux/(NO_GPU版)
https://blog.csdn.net/ZYX19950825/article/details/80022328
https://blog.csdn.net/u013358387/article/details/71576660
VisualSFM配置主要过程有:
1. Build VisualSFM
2. Build SiftGPU
3. Build Multicore Bundle Adjustment (a.k.a. “pba”)
4. Hack PMVS-2
5. Build Graclus 1.2
6. Hack CMVS
7. Running VisualSFM
其中4,5,6是为了生成pmvs2,cmvs,genOption三个二进制文件(源码可能因为版本原因在编译过程中有很多小问题,修改后顺利解决了,但后来在新电脑上编译又出问题了,索性找了一份修改好的源码编译)
操作过程:
安装必须的工具和依赖
sudo apt install make build-essential pkg-config liblapack-dev gfortran jhead imagemagick libc6-dev-i386 libgtk2.0-dev libdevil-dev libboost-all-dev libatlas-cpp-0.6-dev libatlas-base-dev libcminpack-dev libgfortran3 libmetis-edf-dev libparmetis-dev freeglut3-dev
如果后续安装过程中依然提示“cannot find -lXXX”,请安装对应版本依赖即可。
安装Nvidia显卡驱动和Cuda(GPU版本需要)
#参考资料 https://blog.csdn.net/qq_20492405/article/details/79034430
注意:(1)尽管Cuda中包含Nvidia驱动,还是建议先安装驱动再装Cuda,避免出现黑屏
(2)安装Cuda时,前面的"[X]"代表选中了...
(3)安装Nvidia驱动时,如需安装32位library,请在安装驱动前先安装lib32z1(sudo apt-get install lib32z1)
Build VisualSFM
(1)解压 VisualSFM_linux_64bit.zip
(2)进入vsfm文件夹
(3)右键open in Terminal,输入make
如果提示“...cannot be used when making a PIE project, recompile with -fPIC”,打开makefile文件,在LIB_LIST += 后添加“-no-pie”,然后重新make。
这一步只是生成了VisualSFM软件界面。
Build SiftGPU
解压SiftGPU-V400.zip
进入SiftGPU文件夹
右键open in Terminal,输入make
NO_GPU版本,请打开makefile文件,设置
siftgpu_prefer_glut = 1
siftgpu_disable_devil = 1
将bin文件夹下libsiftgpu.so拷贝到上一步的vsfm/bin中,即与VisualSFM程序同目录
Build Multicore Bundle Adjustment (a.k.a. “pba”)
解压pba-master.zip
进入src/pba文件夹,编辑“SparseBundleCU.h” 和“pba.h” 文件,分别在顶部添加#include <stdlib.h>
回到pba-master文件夹下,右键open in Terminal,输入make(注意,如果不使用gpu,请把makefile文件改名,比如makefile_gpu,再把makefile_no_gpu改名为make,然后打开命令行输入make)
make完成后,把pba-master/bin下的libpba.so拷贝到上上一步的vsfm/bin中,即与VisualSFM程序同目录
生成pmvs2,cmvs,genOption
解压CMVS-PMVS
进入CMVS-PMVS/program/下,右键open in Terminal
依次输入:
mkdir build &&cd build
cmake ..(需要安装cmake)
make
进入到CMVS-PMVS/program/build/main下,将pmvs2,cmvs,genOption三个二进制文件拷贝到上上上一步的vsfm/bin中,即与VisualSFM程序同目录
运行VisualSFM
切换到上上上上一步的vsfm/bin中,双击运行VisualSFM。也可以将VisualSFM添加到环境变量中,利用命令行运行。
打开命令行,输入sudo gedit ~/.bashrc
在打开的文件底部添加
export PATH=$PATH:/home/你的/路径/vsfm/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/你的/路径/vsfm/bin
保存关闭,在命令行输入source ~/.bashrc 刷新一下
输入VisualSFM&,即可运行
注意:NO_GPU版本请下载sift文件放入vsfm/bin中,并打开nv.ini文件设置param_use_siftgpu 0(默认是1)和param_use_siftmatchgpu 0(默认是1)
网友评论