ubuntu16.04+openMVG+openMVS实现自己数据三维重建

说明
1:本人此处使用4张图像,且4张都是来自同一场景,分辨率都是40003000.
2:此处f=1.2
max(4000,3000)=4800(下方github里有说明,官网步骤里有参数使用说明)
官方教程
Github
官网步骤

一:openMVG部分

1:首先在SFM文件夹下分别建两个文件夹,Topplus_data用于数据输入 ,Topplus_output用于输出。
2读入图像,产生数据,SFM文件夹下,终端输入:

openMVG_main_SfMInit_ImageListing -i Topplus_data -o Topplus_output/matches -f 4800
sfm_data.json

matches文件夹产生sfm_data.json文件。
3:ComputeFeatures

openMVG_main_ComputeFeatures -i Topplus_output/matches/sfm_data.json -o Topplus_output/matches

ubuntu16.04+openMVG+openMVS实现自己数据三维重建_第1张图片
4:ComputeMatches

openMVG_main_ComputeMatches -i Topplus_output/matches/sfm_data.json -o Topplus_output/matches

ubuntu16.04+openMVG+openMVS实现自己数据三维重建_第2张图片
5:IncrementalSfM

openMVG_main_IncrementalSfM -i Topplus_output/matches/sfm_data.json -o Topplus_output/out_Incremental_Reconstruction -m Topplus_output/matches

在这里插入图片描述
6:ExportUndistortedImages

openMVG_main_ExportUndistortedImages -i Topplus_output/matches/sfm_data.json
 -o Topplus_output/out_Incremental_Reconstruction/undistortedimage

在这里插入图片描述
7:数据格式转换

openMVG_main_openMVG2openMVS -i sfm_data.bin -o scene.mvs 

此处若有问题,则把存放图片的文件夹copy一份在out_Incremental_Reconstruction文件夹再执行。得到scene.mvs文件
至此,openMVG过程完毕。

二:openMVS部分

1:将上面产生的undistortedimage文件夹和scene.mvs复制到openMVS/build/bin/
2:分别执行:DensifyPointCloud 、ReconstructMesh、RefineMesh 、TextureMesh 等可执行文件
3:最终结果:
ubuntu16.04+openMVG+openMVS实现自己数据三维重建_第3张图片

注:
1:若在执行DensifyPointCloud scene.mvs时只产生了一个日志文件,而没有产生其它文件,如scene_dense.mvs,则重启计算机试试。
2:实现demo链接:https://blog.csdn.net/qq_42615787/article/details/105460016

你可能感兴趣的:(ubuntu16.04+openMVG+openMVS实现自己数据三维重建)