[−][src]Module opencv::sfm
Structure From Motion
The opencv_sfm module contains algorithms to perform 3d reconstruction from 2d images.
The core of the module is based on a light version of Libmv originally developed by Sameer Agarwal and Keir Mierle.
Whats is libmv?
libmv, also known as the Library for Multiview Reconstruction (or LMV), is the computer vision backend for Blender's motion tracking abilities. Unlike other vision libraries with general ambitions, libmv is focused on algorithms for match moving, specifically targeting Blender as the primary customer. Dense reconstruction, reconstruction from unorganized photo collections, image recognition, and other tasks are not a focus of libmv.
Development
libmv is officially under the Blender umbrella, and so is developed on developer.blender.org. The source repository can get checked out independently from Blender.
This module has been originally developed as a project for Google Summer of Code 2012-2015.
Note:
- Notice that it is compiled only when Eigen, GLog and GFlags are correctly installed.
Check installation instructions in the following tutorial: @ref tutorial_sfm_installation
Conditioning
Fundamental
Input/Output
Numeric
Projection
Robust Estimation
Triangulation
Reconstruction
Note:
- Notice that it is compiled only when Ceres Solver is correctly installed.
Check installation instructions in the following tutorial: @ref tutorial_sfm_installation
Simple Pipeline
Note:
- Notice that it is compiled only when Ceres Solver is correctly installed.
Check installation instructions in the following tutorial: @ref tutorial_sfm_installation
Structs
SFMLibmvEuclideanReconstruction | SFMLibmvEuclideanReconstruction class provides an interface with the Libmv Structure From Motion pipeline. |
libmv_CameraIntrinsicsOptions | Data structure describing the camera model and its parameters. |
libmv_ReconstructionOptions | Data structure describing the reconstruction options. |
Constants
Traits
BaseSFM | base class BaseSFM declares a common API that would be used in a typical scene reconstruction scenario |
Functions
apply_transformation_to_points | Apply Transformation to points. |
compute_orientation | Computes Absolute or Exterior Orientation (Pose Estimation) between 2 sets of 3D point. |
depth | Returns the depth of a point transformed by a rigid transform. |
essential_from_fundamental | Get Essential matrix from Fundamental and Camera matrices. |
essential_from_rt | Get Essential matrix from Motion (R's and t's ). |
euclidean_to_homogeneous | Converts points from Euclidean to homogeneous space. E.g., ((x,y)->(x,y,1)) |
fundamental_from_correspondences7_point_robust | Estimate robustly the fundamental matrix between two dataset of 2D point (image coords space). |
fundamental_from_correspondences8_point_robust | Estimate robustly the fundamental matrix between two dataset of 2D point (image coords space). |
fundamental_from_essential | Get Essential matrix from Fundamental and Camera matrices. |
fundamental_from_projections | Get Fundamental matrix from Projection matrices. |
homogeneous_to_euclidean | Converts point coordinates from homogeneous to euclidean pixel coordinates. E.g., ((x,y,z)->(x/z, y/z)) |
import_reconstruction | Import a reconstruction file. |
isotropic_preconditioner_from_points | Point conditioning (isotropic). |
k_rt_from_projection | Get K, R and t from projection matrix P, decompose using the RQ decomposition. |
mean_and_variance_along_rows | Computes the mean and variance of a given matrix along its rows. |
motion_from_essential | Get Motion (R's and t's ) from Essential matrix. |
motion_from_essential_choose_solution | Choose one of the four possible motion solutions from an essential matrix. |
normalize_fundamental | Normalizes the Fundamental matrix. |
normalize_isotropic_points | This function normalizes points. (isotropic). |
normalize_points | This function normalizes points (non isotropic). |
normalized_eight_point_solver | Estimate the fundamental matrix between two dataset of 2D point (image coords space). |
preconditioner_from_points | Point conditioning (non isotropic). |
projection_from_k_rt | Get projection matrix P from K, R and t. |
projections_from_fundamental | Get projection matrices from Fundamental matrix |
reconstruct | Reconstruct 3d points from 2d images while performing autocalibration. |
reconstruct_1 | Reconstruct 3d points from 2d images while performing autocalibration. |
reconstruct_2 | Reconstruct 3d points from 2d correspondences while performing autocalibration. |
reconstruct_3 | Reconstruct 3d points from 2d correspondences while performing autocalibration. |
relative_camera_motion | Computes the relative camera motion between two cameras. |
skew | Returns the 3x3 skew symmetric matrix of a vector. |
triangulate_points | Reconstructs bunch of points by triangulation. |