欢迎光临散文网 会员登陆 & 注册

实战 | 手把手教你跑三维重建代码!

2021-03-27 22:08 作者:计算机视觉life  | 我要投稿

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

可能存在的编译问题

  1. opencv中部分函数未定义

    先卸载:

  1. 再源码安装,可以安装比如4.1.1版本。

  2. boost报错

    解决方法:升级boost==1.6.3

使用说明

OpenMVS可执行文件生成在openMVS/openMVS_build/bin/里面,在openMVS_build文件夹下打开终端,按照顺序执行如下命令:(-w 设置的是数据的路径,-i 是输入的文件名,-o是输出的文件名)。

注意:colmap/openmvg计算的位姿可以通过作者提供的InterfaceCOLMAP,InterfaceVisualSFM转成稠密重建输入的*.mvs文件。这里我们主要关注mvs重建过程,未给位姿这个配置介绍(后面如果大家需求可以补充)。大家先根据提供的数据测试。

  1. 稠密重建

  1. 输出log:

图片

  1. 得到的稠密点云test_dense.ply:

图片

  1. 曲面重建

  1. 输出的log :

图片

  1. 生成的网格模型test_mesh.ply:

图片
  1. 网格优化

  1. 输出的log :

图片

  1. 优化的模型test_refinemesh.ply:

图片
  1. 纹理贴图

  1. 输出的log:

图片

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

图片

至此,恭喜你,大功告成!

想要跟着我们逐行学习源码,欢迎关注我们的独家视频课程:

如何快速入门三维重建?应用场景、岗位要求及薪资、技术框架

图片

课程现在开启了限时拼团优惠!热爱学习的小伙伴抓紧啦!

微信扫描二维码查看、购买、学习课程:

图片

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

图片


实战 | 手把手教你跑三维重建代码!的评论 (共 条)

分享到微博请遵守国家法律