实战 | 手把手教你跑三维重建代码!
OpenMVS是三维重建的一个成熟开源框架,综合重建效果和性能,该算法是目前MVS(Multi-View Stereo)相关的所有开源库中最好的一个。该算法的框架如下所示

用OpenMVS重建的结果如下所示:

计算机视觉life对该代码进行了详细注释(持续更新), 欢迎star,代码地址:
https://github.com/electech6/openMVS_comments

想要得到上述的重建结果,那么如何编译运行OpenMVS源码呢?下面是详细教程:
依赖项
OpenMVS 依赖的几个开源库,有两个是可选的可以先不安装.
Eigen version 3.2 (or higher on Windows only)
OpenCV version 2.4 or higher
Ceres version 1.10 or higher (可选)
CGAL version 4.2 or higher
Boost version 1.56 or higher
VCG
GLFW(可选)
安装说明
工具:
CMake
git
C/C++ compiler like Visual Studio or GCC
Linux 编译
Ubuntu 16.04
可能存在的编译问题
opencv中部分函数未定义
先卸载:
再源码安装,可以安装比如4.1.1版本。
boost报错
解决方法:升级boost==1.6.3
使用说明
OpenMVS
可执行文件生成在openMVS/openMVS_build/bin/
里面,在openMVS_build
文件夹下打开终端,按照顺序执行如下命令:(-w 设置的是数据的路径,-i 是输入的文件名,-o是输出的文件名)。
注意:colmap/openmvg计算的位姿可以通过作者提供的InterfaceCOLMAP,InterfaceVisualSFM转成稠密重建输入的*.mvs文件。这里我们主要关注mvs重建过程,未给位姿这个配置介绍(后面如果大家需求可以补充)。大家先根据提供的数据测试。
稠密重建
输出log:

得到的稠密点云test_dense.ply:

曲面重建
输出的log :

生成的网格模型test_mesh.ply:

网格优化
输出的log :

优化的模型test_refinemesh.ply:

纹理贴图
输出的log:

输出的结果 test_texture.ply test_texture.png:

至此,恭喜你,大功告成!
想要跟着我们逐行学习源码,欢迎关注我们的独家视频课程:
如何快速入门三维重建?应用场景、岗位要求及薪资、技术框架

课程现在开启了限时拼团优惠!热爱学习的小伙伴抓紧啦!
微信扫描二维码查看、购买、学习课程:

还未购买的粉丝如果想要求拼团,或对课程有任何疑问,欢迎加入咨询群!(已经购买无需加入)
