OpenMVS详细安装教程(ubuntu18.04)

OpenMVS详细安装教程-ubuntu18.04

  • 前言
  • 一、安装第三方库
    • 1.安装 Eigen3.4
    • 2.安装Boost1.56版本以上
    • 3.安装OpenCV2.4(或者更高版本)
    • 4.安装CGAL
    • 5.安装VCGLib
  • 一、安装以及运行OpenMVS
    • 1.安装OpenMVS的库
    • 2.OpenMVS测试
  • 总结


前言

githup:https://github.com/cdcseacave/openMVS

最近在ubuntu18.04上配置OpenMVS运行环境时踩了很多坑,在这期间查阅了很多资料和博客,于是想对安装过程进行总结,方便自己反复查阅以及分享经验避免大家重复踩坑。
博主是用docker在ubuntu18.04容器中安装的OpenMVS,已经打包成docker的镜像文件分享给大家。

# 查看ubuntu版本号
lsb_release -a

OpenMVS详细安装教程(ubuntu18.04)_第1张图片
安装前的准备:安装cmake、git 、gcc 和g++
apt-get源修改参考

# 更新apt库,更新软件列表
sudo apt-get update
# 安装git,用于从Github上克隆项目到本地
sudo apt-get install git
# 安装cmake,用于程序的编译
sudo apt-get install cmake
# 安装gcc和g++,安装c和c++编译器
sudo apt-get install gcc g++

一、安装第三方库

# 建立一个MVS的文件夹
mkdir MVS && cd MVS 
sudo apt-get update -qq && sudo apt-get install -qq
# 安装图像格式的相关库
sudo apt-get -y install git cmake libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev

1.安装 Eigen3.4

ubuntu18.4建议源码eigen3.4及以上版本安装(不能使用eigen3.2),或者通过git下载:

# 通过git下载Eigen3.4源码,需要科学上网
git clone https://gitlab.com/libeigen/eigen.git --branch 3.4
mkdir eigen_build && cd eigen_build 
cmake . ../eigen
make && sudo make install 
cd ..

2.安装Boost1.56版本以上

sudo apt-get -y install libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-serialization-dev

3.安装OpenCV2.4(或者更高版本)

sudo apt-get -y install libopencv-dev
# 查询OpenCV版本
pkg-config --modversion opencv
# 查询OpenCV库
pkg-config --cflags opencv
# 查询头文件目录
pkg-config --libs   opencv

4.安装CGAL

sudo apt-get -y install libcgal-dev libcgal-qt5-dev

5.安装VCGLib

# 通过git下载vcglib源码,需要科学上网
git clone https://github.com/cdcseacave/VCG.git vcglib

一、安装以及运行OpenMVS

1.安装OpenMVS的库

# 通过git下载OpenMVS源码,需要科学上网
git clone https://github.com/electech6/openMVS_comments.git openMVS 
mkdir openMVS_build && cd openMVS_build
# /path to vcglib/vcglib"改为自己的vcglib的路径:Vcglib的父级目录/vcglib
cmake . ../openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT="/path to vcglib/vcglib"
# 生成OpenMVS库文件,j4线程数量,根据电脑性能选择合适的数字
sudo make -j4 && sudo make install

OpenMVS详细安装教程(ubuntu18.04)_第2张图片
编译过程中可能出线的问题:

解决方案(参考):
使用git回退vcglib版本,回退到以前提交时间为2020年对应的历史版本即可(ubuntu18.04下亲测有效)。

# 进入vcglib项目根目录下,使用命令git log,找到需要返回的commit id,按Q键退出
cd vcglib && git log
# 彻底回退到某个版本,本地的源码也会变为指定版本的内容
git reset --hard 88f12f212a1645d1fa6416592a434c29e63b57f0

git log后查看历史提交内容:
OpenMVS详细安装教程(ubuntu18.04)_第3张图片
git reset --hard变为指定版本的内容:

安装编译完成
OpenMVS详细安装教程(ubuntu18.04)_第4张图片

2.OpenMVS测试

测试数据集百度云链接,提取码:4oz5
OpenMVS 可执行文件生成在openMVS/openMVS_build/bin/里面
OpenMVS详细安装教程(ubuntu18.04)_第5张图片
安装Meshlab

# 安装依赖并更新
sudo apt --fix-broken install
sudo apt-get update
sudo apt-get upgrade
# 用apt-get安装meshlab
sudo apt-get install meshlab

安装完成
OpenMVS详细安装教程(ubuntu18.04)_第6张图片
稠密重建

# 将数据集移动到openMVS_build目录下并重命名为data
mv /root/Downloads/OpenMVS测试数据集 /root/MVS/openMVS_build/data
# 在openMVS_build目录下执行如下命令:-w 设置的是数据的路径 -i 是输入的文件名 -o是输出的文件名
./bin/DensifyPointCloud -w /root/MVS/openMVS_build/data -i scene.mvs -o test_dense.mvs

OpenMVS详细安装教程(ubuntu18.04)_第7张图片
在数据集data目录下生成test_dense.mvs文件,用Meshlab打开test_dense.mvs:
OpenMVS详细安装教程(ubuntu18.04)_第8张图片
曲面重建```

./bin/ReconstructMesh -w /root/MVS/openMVS_build/data -i test_dense.mvs -o test_mesh.mvs

OpenMVS详细安装教程(ubuntu18.04)_第9张图片
在数据集data目录下生成test_mesh.ply文件,用Meshlab打开test_mesh.ply:
OpenMVS详细安装教程(ubuntu18.04)_第10张图片
网格优化

./bin/RefineMesh -w /root/MVS/openMVS_build/data -i test_mesh.mvs -o test_refinemesh.mvs

OpenMVS详细安装教程(ubuntu18.04)_第11张图片在数据集data目录下生成test_refinemesh.ply文件,用Meshlab打开test_refinemesh.ply:
OpenMVS详细安装教程(ubuntu18.04)_第12张图片
纹理贴图

./bin/TextureMesh -w /root/MVS/openMVS_build/data -i test_refinemesh.mvs -o test_texture.mvs

OpenMVS详细安装教程(ubuntu18.04)_第13张图片在数据集data目录下生成test_texture.ply以及test_texture.png文件,用Meshlab打开test_texture.ply:OpenMVS详细安装教程(ubuntu18.04)_第14张图片查看test_texture.png文件:
OpenMVS详细安装教程(ubuntu18.04)_第15张图片

总结

尽可能简单、详细的介绍OpenMVS的安装流程以及解决了安装过程中可能存在的问题。后续会根据自己学到的知识结合个人理解讲解OpenMVS的原理和代码。

你可能感兴趣的:(OpenMVS,ubuntu,ubuntu)