openMVS安装教程

1. 简介

OpenMVS(Multi-View Stereo reconstruction library)是一个用于多视角立体重建的开源库,用于从多个图像中创建高质量的三维模型。它可以从图像集合中恢复三维几何和纹理信息,以创建更真实的场景重建。

  • 注意:openMVS库本身是不具备从image标定相机内外参功能的,因此后续使用的时候还要搭配其它pipeline,如openMVG或者其他sfm-pipeline。

2. 安装openMVS

  • 系统环境:windows10,git,vcpkg,cmake(后面三个没有安装的可自行百度,easy)

2.1 下载openMVS项目

openMVS项目链接
在本地随意一个位置输入

git clone https://github.com/cdcseacave/openMVS.git

等待安装即可,失败的大部分情况都是网络问题。

2.2 下载依赖库

使用vcpkg进行库的下载(vcpkg是c++库管理工具,类似于conda,windows下应该没有比vcpkg更好用的c++库管理工具了吧)
vcpkg项目链接
点击链接,按照readme操作就行。
下载后双击bat文件就安装完成(在cmd中直接输入这个文件也行) 

 

# 示例--安装boost库
# 建议先用search查看boost库有哪些版本
.\vcpkg search boost
# 选择合适的版本install
.\vcpkg install boost:x64-windows
# 由于网络原因,可能会失败,重新安装即可
建议安装完所有库后执行下面命令:
.\vcpkg integrate install # 这是告诉系统所有编译器你通过vcpkg安装的所有库的位置,之后写c++代码就可以直接include了,不需要
在手动设置库地址

2.3 安装cmake

下载cmake(自行百度安装,很简单)
安装完成后在cmd输入:

# 目前你已进入openMVS目录
mkdir build(随便取一个名字,建议build或者make)
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=你的vcpkg安装路径\scripts\buildsystems\vcpkg.cmake

一般来说,这一步或多或少会遇到错误,我是由于cmake版本过高,CMakeList.txt文件中首行加一句CMAKE_POLICY(SET CMP0146 NEW)就ok了。

2.4 在build目录打开openMVS.sln(visual studio)

打开后界面如下:

右键ALL_BUILD ,点击生成

 

当然,你也可以按照openMVS项目的readme编译链接也行。
openMVS安装编译结束

3. 跑一跑openMVS示例

3.1 下载scene.mvs文件

前面说过,openMVS是不能直接由image重建三维图像的,因为它没有实现标定image的内外参。
openMVS官方示例在此官方示例
用的是Sceaux Castle的image进行重建

我们的目的是为了测试openMVS是否能用,而不管怎么由images得到mvs文件,所以呢,官方直接替我们生成了openMVS要输入的数据scene.mvs,这个文件是用上面的城堡images进行sfm(用的openMVG库)得到的,文件内容包括相机的内外参、稀疏点云以及对应的images。(后续,如果时间充裕,我会出一个openMVG配合openMVS的使用教程)
下载好scene.mvs文件后,可以用编译好的viewer模块来打开.mvs文件。
把scene.mvs拖到viewer.exe上就能看了(cmd命令行也行: Viewer.exe C:\Users\cv\Downloads\scene.mvs)

 

 

3.2 密集点云重建–densifypointcloud

scene.mvs里面只包含稀疏的点云,densifypointcloud.exe利用scene.mvs中提供的相机内外参以及稀疏点云进行图像校正,使image pair 的极线平行,这样就能利用平行的极线约束检测到更多特征(立体匹配内容),得到密集视差图计算深度,实现密集点云重建。
使用方法:
在官方示例中下载图片下载
新建一个文件夹(位置任意,命名任意),比如我的叫testdata,在testdata中新建images文件夹,把下载的image放进去,然后把下载的scene.mvs放在testdata中

命令行进入编译好的目录下(见下图),输入下列命令

 

等待完成即可(大约需要30分钟),完成后会testdata目录下生成一个scene_dense.mvs文件,可以使用viewer.exe查看效果。
可以看到,MVS生成的密集点云重建效果比sfm好很多

 

 

 

3.3 生成网格模型–reconstructmesh.exe

理论上,MVS的工作已经完成,但是openMVS不止实现密集点云重建,还实现了网格重建以及纹理映射,所以接下来一个一个实验效果。

ReconstructMesh.exe secene_dense.mvs -w E:\3Dreconstruction\openMVS\testdata

生成scene_dense_mesh.mvs 文件(这个过程很快)

3.4 网格细化–refinemesh

RefineMesh.exe secene_dense_mesh.mvs -w E:\3Dreconstruction\openMVS\testdata

生成secene_dense_mesh_refine.mvs(这个过程需要很长时间,可以查看命令行参数,修改默认meshrefine参数)

3.5 纹理映射–texturemesh

TextureMesh.exe secene_dense_mesh.mvs -w E:\3Dreconstruction\openMVS\testdata

生成secene_dense_mesh_texture.mvs,这个过程大约30分钟

 

 

 

 

 

 

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
安装OpenMVS的过程可以按照以下步骤进行: 1. 准备第三方库:首先,需要安装一些必要的第三方库,包括Eigen、Boost、OpenCV、CGAL和VCGLib。具体安装方法可以参考引用中提供的详细安装教程。确保安装的版本符合要求。 2. 下载OpenMVS:从OpenMVS的官方网站或GitHub页面上下载最新的稳定版本的OpenMVS。 3. 编译和安装:解压下载的OpenMVS源代码,并按照官方提供的编译指南进行编译和安装。建议按照引用中给出的安装流程进行操作,这份简单而详细的教程可能会帮助你解决在安装过程中可能遇到的问题。 4. 配置环境变量:安装完成后,将OpenMVS的可执行文件路径添加到系统的环境变量中,这样就可以在任何位置运行OpenMVS命令了。 5. 测试:可以使用引用中提到的MvgMvsPipeline.py文件来测试OpenMVS的功能。这个文件使用OpenMVG和OpenMVS完成一个完整的三维重建流程。在测试时,可以使用OpenMVS的命令行工具,根据自己的需求运行相应的命令。 总结来说,安装OpenMVS需要下载源代码,编译和安装,并配置环境变量。在安装过程中,可以参考引用和提供的教程和文件来帮助你完成安装和测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [OpenMVS详细安装教程(ubuntu18.04)](https://blog.csdn.net/yangyu0515/article/details/129235389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [OpenMVG与OpenMVS安装及使用教程](https://blog.csdn.net/scott198510/article/details/128636068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FL1623863129

你的打赏是我写文章最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值