Bundler—sfm+PMVS+Ubuntu16.04 安装记录

参考文档:

linux下使用Bundler +CMVS-PMVS进行三维重建的博客:http://blog.csdn.net/u013358387/article/details/71576660 

一.下载源码

这里使用了镜像,否则下载速度很慢

git clone https://git.sdut.me/snavely/bundler_sfm.git
git clone https://git.sdut.me/pmoulon/CMVS-PMVS.git

二.下载sift

网址:http://www.cs.ubc.ca/~lowe/keypoints/

下载后要make一下,要不后面会出错

三、安装依赖

为了编译和运行Bundler,我们需要安装如下依赖

sudo apt-getinstall liblapack-dev libblas-dev minpack-dev f2c gfortran jhead imagemagick

接下来继续安装SIFT依赖

sudo apt-getinstall libc6-dev-i386

安装CMVS-PMVS依赖

sudo apt-getinstall libgtk2.0-dev libdevil-dev libboost-all-dev libatlas-cpp-0.6-devlibatlas-dev libcminpack-dev libgfortran3 libmetis-edf-dev libparmetis-devfreeglut3-dev libgsl0-dev

四、编译Bundler和CMVS-PMVS

step1:编译Bundler

在linux 终端使用cd命令进入到bundler_sfm下,也就是Makefile文件所在的目录,然后在终端输入make命令

step2:

找到下载的SIFT程序,解压之后将里边的sift可执行文件拷贝到bundler_sfm下的bin目录下。

step3:

安装依赖的时候我们安装了jhead,我们要将jhead文件拷贝到bundler_sfm下的bin目录下。可以使用命令

 sudo cp /usr/bin/jhead bin/ 

step4:

将bundler_sfm/bin/目录下生成的libANN_char.so文件拷贝到系统库

sudo cp bin/libANN_char.so /usr/lib/

step5:编译CMVS-PMVS

使用cd命令进入到CMVS-PMVS/program/下,然后依次执行以下命令

mkdir build && cd build
cmake ..
make

执行完成后,CMVS-PMVS也就编译完成了,生成的可执行文件位于build目录下的main目录中。为了接下来运行方便,我们将生成的可执行文件cmvs、genOption、pmvs2这三个文件拷贝到bundler_sfm目录的bin下。

五、执行Bundler和CMVS-PMVS进行三维重建

cd命令进入到ET文件夹下,然后执行以下命令

../../RunBundler.sh

bundler文件夹下的bundler.out中存储了重建的稀疏点3D坐标和相机参数。

接下来我们就可以利用PMVS进行稠密点云的重建了,在这之前我们还需要将Bundler的输出转换为CMVS-PMVS的输入格式。我们利用bin下的Bundle2PMVS即可完成这一过程。

../../bin/Bundle2PMVS prepare/list.txtbundle/bundle.out

此时会生成pmvs目录,在此目录下有prep_pmvs.sh文件,我们编辑此文件,将里边的BUNDLER_BIN_PATH修改为bundler的bin文件夹的实际路径。例如:

BUNDLER_BIN_PATH=/home/AAAAAA/temp/bundler_sfm/bin

然后依次执行如下操作

1、sh pmvs/prep_pmvs.sh   

2、../../bin/cmvs pmvs/

3、../../bin/genOption pmvs/(这一步命令执行完没有什么反应)

4、../../bin/pmvs2 pmvs/ option-0000 (注意option之前的空格键)

生成的最终结果位于pmvs目录的models 文件夹下,名称为option-0000.ply,直接使用meshlab打开此文件便可以看到结果。

用自己照的图重建结构

ps:

1.

于如何确定相机制造商Camera make和型号Camera model,可以把你拍摄的一张照片放到bin文件目录中,打开终端,通过jhead程序进行确认,输入命令:

jhead myphoto.jpg(图片名称)

2.

 查到CCD/CMOS宽度信息后,在bin目录下找到extract_focal.pl配置文件,使用记事本程序打开,按照相应格式把你的相机传感器宽度信息加进去。注意格式要严格按照规定:

"[Camera make] [Cameramodel]" => [Sensor width]

(即"[相机制造商] [相机型号]" => [传感器宽度])。

3.

图片尺寸过大不可以,长改为2000,美图看看很方便,可以批量修改。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值