OpenMVG: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
 
(9 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 3: Linha 3:
In this wiki you will find community notes on OpenMVG, to complement the official docs.
In this wiki you will find community notes on OpenMVG, to complement the official docs.


==Building / Compiling m==
==Building / Compiling==
* Follow `BUILD.md` closely. For the curious, see https://github.com/openMVG/openMVG/pull/1579 where I describe some pitfalls.
* Follow `BUILD.md` closely. For the curious, see [https://github.com/openMVG/openMVG/pull/1579] where I describe some pitfalls.
* We are using the develop branch for hacking. It compiles well on mac and linux (mar 2022).


=== Build Summary for Linux (24Oct19) ===
=== Build Summary for Linux (24Oct19) ===
Linha 17: Linha 18:
     cmake -DCMAKE_BUILD_TYPE=RELEASE ../openMVG/src/
     cmake -DCMAKE_BUILD_TYPE=RELEASE ../openMVG/src/
     cmake --build . --target install
     cmake --build . --target install
 
* You can reduce the build and configure with a single line code
    mkdir openMVG-bin && cd openMVG-bin && cmake -DCMAKE_BUILD_TYPE=RELEASE ../openMVG/src/ && cmake --build . --target install
==== Build for development with GCC and interactively ====
==== Build for development with GCC and interactively ====
     CC=gcc-5 CXX=g++-5  ccmake../openMVG/src/
     CC=gcc-5 CXX=g++-5  ccmake../openMVG/src/
==== Some help with in newer versions of openMVG cmake warnings (10Mar2023)====


* Install libqt5svg5-dev
    sudo apt-get install libqt5svg5-dev
* Install Qt5 tools (Check if your distro has it available)
    sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools


=== Build Summary for Mac (24Oct19) ===
=== Build Summary for Mac (24Oct19) ===
Linha 27: Linha 34:
GNU is convenient for certain optimizations, extensions and for closely dev with your Linux team mates and cluster nodes.
GNU is convenient for certain optimizations, extensions and for closely dev with your Linux team mates and cluster nodes.


     CC=gcc CXX=g++ ccmake -DCMAKE_INSTALL_PREFIX:STRING=$PWD/openMVG_install ../openMVG/src
     CC=gcc CXX=g++ ccmake ../openMVG/src


With macports you can select to what GCC version the 'gcc' link will point to.
With macports you can select to what GCC version the 'gcc' link will point to.
Linha 35: Linha 42:
If e.g. gcc 5 is desired:
If e.g. gcc 5 is desired:
     brew gcc@5
     brew gcc@5
     CC=gcc-5 CXX=g++-5 ccmake -DCMAKE_INSTALL_PREFIX:STRING=$PWD/openMVG_install ../openMVG/src
     CC=gcc-5 CXX=g++-5 ccmake ../openMVG/src


* I carried out many tests with GCC 4-8, and GCC 5 is better for the optimizations I use (--fast-math for trifocal solver).
* I carried out many tests with GCC 4-8, and GCC 5 is better for the optimizations I use (--fast-math for trifocal solver).
* For speed, can try '--fast-math' optimization, gcc-5 is very good at that.
* For speed, can try '--fast-math' optimization, gcc-5 is very good at that.
* I use BUILD_SHARED_LIBS on. Faster linking. Faster development cycle
* I use BUILD_SHARED_LIBS on. Faster linking. Faster development cycle
=== Testing ===
* Enable both BUILD_TESTING _and_ OpenMVG_BUILD_TEST
* ctest or make test should work
=== Other Tips ===
* Look into [https://github.com/openMVG/openMVG/blob/master/.travis.yml .travis.yml], specially <tt>before_script:</tt> and <tt>script:</tt> sections for the build commands that are actually working. Look into the <tt>packages:</tt> sections for packages that might have to be installed in your system.


=== OpenMVG as a library ===
=== OpenMVG as a library ===
Linha 49: Linha 62:


== See Also ==
== See Also ==
* Colmap: shares similarities with OpenMVG's code, but improved by some of the most famous SfM researchers (Marc Pollefeys' student)
* [[COLMAP]]: shares similarities with OpenMVG's code, but improved by some of the most famous SfM researchers (Marc Pollefeys' student)
 
* [[Ubuntu - Configuring For Programming]]


[[Category:Lab Macambira]]
[[Category:Lab Macambira]]


[[Category:Video]]
[[Category:Video]]

Edição atual tal como às 15h12min de 10 de março de 2023

OpenMVG is a 3D reconstruction software focusing on automated techniques. This is used in AR and related technologies such as ARKit and Microsoft Hololens, and match-moving in video editing for inserting virtual content. It is also known as photogrammetry, structure from motion (SfM), 3D Computer Vision, and uses multiple view geometry heavily. In this wiki you will find community notes on OpenMVG, to complement the official docs.

Building / Compiling

  • Follow `BUILD.md` closely. For the curious, see [1] where I describe some pitfalls.
  • We are using the develop branch for hacking. It compiles well on mac and linux (mar 2022).

Build Summary for Linux (24Oct19)

  • Install the required dependencies (see BUILD.md). Please edit this wiki page if you had to install more things.
  • Checkout OpenMVG, and make it lowecase
   git clone --recursive https://github.com/openMVG/openMVG.git    
  • Create a binary folder. I prefer the following setup: to have an openMVG-bin folder parallel to openmvg, outside the source
   mkdir openMVG-bin
   cd openMVG-bin
  • Configure and build
   cmake -DCMAKE_BUILD_TYPE=RELEASE ../openMVG/src/
   cmake --build . --target install
  • You can reduce the build and configure with a single line code
   mkdir openMVG-bin && cd openMVG-bin && cmake -DCMAKE_BUILD_TYPE=RELEASE ../openMVG/src/ && cmake --build . --target install

Build for development with GCC and interactively

   CC=gcc-5 CXX=g++-5  ccmake../openMVG/src/

Some help with in newer versions of openMVG cmake warnings (10Mar2023)

  • Install libqt5svg5-dev
    sudo apt-get install libqt5svg5-dev
  • Install Qt5 tools (Check if your distro has it available)
    sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools

Build Summary for Mac (24Oct19)

Mac OS + GCC

GNU is convenient for certain optimizations, extensions and for closely dev with your Linux team mates and cluster nodes.

   CC=gcc CXX=g++ ccmake ../openMVG/src

With macports you can select to what GCC version the 'gcc' link will point to.

With homebrew, you can use something like gcc-5 to pick the GCC version:

If e.g. gcc 5 is desired:

   brew gcc@5
   CC=gcc-5 CXX=g++-5 ccmake ../openMVG/src
  • I carried out many tests with GCC 4-8, and GCC 5 is better for the optimizations I use (--fast-math for trifocal solver).
  • For speed, can try '--fast-math' optimization, gcc-5 is very good at that.
  • I use BUILD_SHARED_LIBS on. Faster linking. Faster development cycle

Testing

  • Enable both BUILD_TESTING _and_ OpenMVG_BUILD_TEST
  • ctest or make test should work

Other Tips

  • Look into .travis.yml, specially before_script: and script: sections for the build commands that are actually working. Look into the packages: sections for packages that might have to be installed in your system.

OpenMVG as a library

  • Careful: If you want to use OpenMVG as a library, you must define your prefix, and not only
    make
    but also
    make install
    • What I do in this case is cd openMVG-bin, then 'ccmake -DCMAKE_INSTALL_PREFIX:STRING=$PWD/install ../openMVG/src"


Same as Linux currently works.

See Also