openMVS根据github上的步骤进行编译。注意,
如果没有GPU,用不了CUDA的话,那么需要在openMVS目录下找到CmakeLists.txt文件,把CUDA设置为OFF:
SET(OpenMVS_USE_CUDA OFF CACHE BOOL "Enable CUDA library")
可执行的文件
生成在openMVS_build/bin/
里面,在openMVS_build
文件夹下打开终端,按照顺序执行如下命令即可逐步重建。其中,-w 设置的是数据的总路径,-i 后接输入的文件名,-o 后接输出的文件名,前一阶段的输出便是下一阶段的输入。
我们使用的样例数据是原作者提供的另一个repo:openMVS_sample
1.稠密重建
./bin/DensifyPointCloud -w /home/hyx/data/openMVS_sample -i scene.mvs -o test_dense_000.mvs
得到.mvs和.ply文件。
2.曲面重建
./bin/ReconstructMesh -w /home/hyx/data/openMVS_sample -i test_dense_000.mvs -o test_mesh_000.mvs
得到.mvs和.ply文件。
3.网格优化
./bin/RefineMesh -w /home/hyx/data/openMVS_sample -i test_mesh_000.mvs -o test_refinemesh_000.mvs
得到.mvs和.ply文件。
4.纹理贴图
./bin/TextureMesh -w /home/hyx/data/openMVS_sample -i test_refinemesh_000.mvs -o test_texture_000.mvs
得到.mvs和.glb和.png文件。
重建完成,我们可以通过Viewer来进行查看.mvs文件,而.ply文件可以通过meshlab来查看。
./bin/Viewer /home/hyx/data/openMVS_sample/test_texture_000.mvs