说明:
1:本人此处使用4张图像,且4张都是来自同一场景,分辨率都是40003000.
2:此处f=1.2max(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
4:ComputeMatches
openMVG_main_ComputeMatches -i Topplus_output/matches/sfm_data.json -o Topplus_output/matches
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:最终结果:
注:
1:若在执行DensifyPointCloud scene.mvs时只产生了一个日志文件,而没有产生其它文件,如scene_dense.mvs,则重启计算机试试。
2:实现demo链接:https://blog.csdn.net/qq_42615787/article/details/105460016