OpenMVG + OpenMVS build & run

本文最后更新于:May 7, 2023 pm

[TOC]

Overview

  • OpenMVG provides an end-to-end 3D reconstruction from images framework compounded of libraries, binaries, and pipelines.

    • a library mainly focused on Multiple-View-Geometry and Structure-From-Motion
    • Structure-from-Motion pipelines (like OpenMVG) which recover camera poses and a sparse 3D point-cloud from an input set of images, there are none addressing the last part of the photogrammetry chain-flow

  • OpenMVS (Multi-View Stereo) is a library for computer-vision scientists and especially targeted to the Multi-View Stereo reconstruction community.

    • Modules

    • aims at filling that gap by providing a complete set of algorithms to recover the full surface of the scene to be reconstructed

    • The input is a set of camera poses plus the sparse point-cloud and the output is a textured mesh

OpenMVG

Build

  • https://github.com/openMVG/openMVG/blob/develop/BUILD.md

Run

Modify the code below in SfM_SequentialPipeline.py, SfM_GlobalPipeline.py or tutorial_demo.py

1
2
3
4
5
# before
pIntrisics = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_SfMInit_ImageListing"), "-i", input_dir, "-o", matches_dir, "-d", camera_file_params] )

# after
pIntrisics = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_SfMInit_ImageListing"), "-i", input_dir, "-o", matches_dir, "-d", camera_file_params, "-f", "xxx"] )

then

1
python SfM_GlobalPipeline.py [full path image directory] [resulting directory]

MVG (SfM scene) to MVS

1
openMVG_main_openMVG2openMVS -i sfm_data.bin -o scene.mvs

OpenMVS

Build

  • https://github.com/cdcseacave/openMVS/wiki/Building

Run

View

Viewer module can be used to visualize any MVS project file or PLY/OBJ file.

1
./openMVS_build/bin/Viewer xxx.mvs # or xxx.ply xxx.obj

Ref


OpenMVG + OpenMVS build & run
https://cgabc.xyz/posts/13a6e139/
Author
Gavin Gao
Posted on
June 18, 2022
Licensed under