Ubuntu18.04下VisualSFM配置

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)

下载地址https://www.cs.ubc.ca/~lowe/keypoints/

更多问题详见http://ccwu.me/vsfm/doc.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容