Skip to content

Commit

Permalink
Merge branch 'develop' into pop_develop_matching
Browse files Browse the repository at this point in the history
Conflicts:
	docs/sphinx/rst/software/SfM/SfM.rst
	src/openMVG/matching/CMakeLists.txt
	src/openMVG/matching/matcher_cascade_hashing.hpp

src/openMVG/matching_image_collection/Cascade_Hashing_Matcher_Regions_AllInMemory.cpp

src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp

src/openMVG/sfm/pipelines/global/sfm_global_engine_relative_motions.cpp

src/openMVG/sfm/pipelines/localization/SfM_Localizer_Single_3DTrackObservation_Database.cpp
	src/openMVG/sfm/pipelines/sequential/sequential_SfM.cpp
	src/software/SfM/main_ComputeMatches.cpp
	src/software/SfM/main_GlobalSfM.cpp
	src/software/SfM/main_openMVG2MVE2.cpp
  • Loading branch information
simogasp committed Oct 2, 2015
2 parents fb19dfd + c7343ac commit c37c59e
Show file tree
Hide file tree
Showing 55 changed files with 2,110 additions and 231 deletions.
7 changes: 4 additions & 3 deletions docs/sphinx/rst/software/SfM/SfM.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Structure from Motion computes an external camera pose per image (the motion) an

.. figure:: imagesInput.png
:align: center

Figure : Input images, estimated camera location and structure.

openMVG SfM tools
Expand Down Expand Up @@ -74,7 +74,7 @@ OpenMVG SfM pipelines run as a 4 step process:
./IncrementalSfM.rst
./GlobalSfM.rst

5. Optional further processing
5. Optional further processing
----------------------------------------

.. toctree::
Expand Down Expand Up @@ -140,6 +140,7 @@ To know more about each tool visit the following link and read the doc below:
./SfM_OutputFormat.rst
../MVS/MVS.rst


PS: We strongly advise to use a 3 directories based data organisation structure

* **images**
Expand All @@ -154,7 +155,7 @@ PS: We strongly advise to use a 3 directories based data organisation structure

* directory used to store the SfM result and process log.

..
..
1. Image & view listing:
- describe images parameters:
Expand Down
2 changes: 2 additions & 0 deletions docs/sphinx/rst/software/softwares.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ openMVG softwares & tools
:maxdepth: 1

SfM/SfM.rst
ui/SfM/control_points_registration/GCP.rst
localization/localization.rst
MVS/MVS.rst
colorHarmonization/color.rst



Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
***********************************
Ground Control Points registration
***********************************

Structure from Motion find camera poses & a structure to an unknown scale of the real metric measure. In order to restore the correct scale and orientation to known 3D coordinates, OpenMVG provide a GUI to perform Ground Control Point registration.

- Given some 3D known ground control points and their 2D observations in some images, we can compute the rigid transformation to move the SfM scene to the known 3D coordinates. The rigid transformation (7Dof) is computed in least square between the triangulation of the observations and the known 3D positions).

- For your ground control points your can use specific pattern or object for which you known the measures (post-it, ruller, calibration target...).

.. figure:: gcp_principle.png
:align: center

Figure : Ground Control Point registration principle illustration.

Short tutorial
====================

In this sample we scale the scene from the known dimensions of a paper target (see the post-it on the images below).

- 1. Open your scene in the GUI

- File/Open Project (CTRL+O) and open an sfm_data file.
- double click on an image on the list to display it on the right
- zoom level can be changed with CTRL+WHEEL

.. figure:: gcp_gui.jpg
:align: center

- 2. Set your GCP observations positions whithin the images

- choose your image,
- click inside it (at the right position or not, you can move it later) & select your GCP unique ID,
- then the Control point observation appears
- to move your GCP click to it, and keep left mouse button clicked while moving it.

.. figure:: gcp_edit_observation_positions.jpg
:align: center
.. figure:: gcp_edit_observation_positions_3pts.jpg
:align: center

- 3. Provide the 3D GCP known X,Y,Z positions

- File/Control Point Edition (CTRL+E)
- double click in the X,Y,Z cells and edit the 3D coordinates
- close the window to save them

.. figure:: gcp_edit_3Dposition.jpg
:align: center

- 4. Perform the registration

- File/Control Point Registration (CTRL+R)
- If at least 3D control points exist and iff their observations are triangulable, the registration will be performed and a report appears.

.. figure:: gcp_registration.jpg
:align: center

- 5. Save your scene

- File/Save Project (CTRL+S) and save your sfm_data file.
- Post-process or use directly the point cloud to perform measures.
- i.e here once MVS have been computed we can measure the eyes distance => ~= 5 cm

.. figure:: gcp_measure_on_the_model.jpg
:align: center


Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit c37c59e

Please sign in to comment.