OpenCV  3.4.19
Open Source Computer Vision
Public Member Functions | Static Public Member Functions | List of all members
cv::sfm::SFMLibmvEuclideanReconstruction Class Referenceabstract

SFMLibmvEuclideanReconstruction class provides an interface with the Libmv Structure From Motion pipeline. More...

#include <opencv2/sfm/simple_pipeline.hpp>

Inheritance diagram for cv::sfm::SFMLibmvEuclideanReconstruction:
cv::sfm::BaseSFM

Public Member Functions

virtual void getCameras (OutputArray Rs, OutputArray Ts) CV_OVERRIDE=0
 Returns the estimated camera extrinsic parameters. More...
 
virtual double getError () const CV_OVERRIDE=0
 Returns the computed reprojection error. More...
 
virtual cv::Mat getIntrinsics () const CV_OVERRIDE=0
 Returns the refined camera calibration matrix. More...
 
virtual void getPoints (OutputArray points3d) CV_OVERRIDE=0
 Returns the estimated 3d points. More...
 
virtual void run (InputArrayOfArrays points2d) CV_OVERRIDE=0
 Calls the pipeline in order to perform Eclidean reconstruction. More...
 
virtual void run (InputArrayOfArrays points2d, InputOutputArray K, OutputArray Rs, OutputArray Ts, OutputArray points3d) CV_OVERRIDE=0
 Calls the pipeline in order to perform Eclidean reconstruction. More...
 
virtual void run (const std::vector< String > &images) CV_OVERRIDE=0
 Calls the pipeline in order to perform Eclidean reconstruction. More...
 
virtual void run (const std::vector< String > &images, InputOutputArray K, OutputArray Rs, OutputArray Ts, OutputArray points3d) CV_OVERRIDE=0
 Calls the pipeline in order to perform Eclidean reconstruction. More...
 
virtual void setCameraIntrinsicOptions (const libmv_CameraIntrinsicsOptions &libmv_camera_intrinsics_options) CV_OVERRIDE=0
 Setter method for camera intrinsic options. More...
 
virtual void setReconstructionOptions (const libmv_ReconstructionOptions &libmv_reconstruction_options) CV_OVERRIDE=0
 Setter method for reconstruction options. More...
 
- Public Member Functions inherited from cv::sfm::BaseSFM
virtual ~BaseSFM ()
 

Static Public Member Functions

static Ptr< SFMLibmvEuclideanReconstructioncreate (const libmv_CameraIntrinsicsOptions &camera_instrinsic_options=libmv_CameraIntrinsicsOptions(), const libmv_ReconstructionOptions &reconstruction_options=libmv_ReconstructionOptions())
 Creates an instance of the SFMLibmvEuclideanReconstruction class. Initializes Libmv. More...
 

Detailed Description

SFMLibmvEuclideanReconstruction class provides an interface with the Libmv Structure From Motion pipeline.

Member Function Documentation

◆ create()

static Ptr<SFMLibmvEuclideanReconstruction> cv::sfm::SFMLibmvEuclideanReconstruction::create ( const libmv_CameraIntrinsicsOptions camera_instrinsic_options = libmv_CameraIntrinsicsOptions(),
const libmv_ReconstructionOptions reconstruction_options = libmv_ReconstructionOptions() 
)
static

Creates an instance of the SFMLibmvEuclideanReconstruction class. Initializes Libmv.

◆ getCameras()

virtual void cv::sfm::SFMLibmvEuclideanReconstruction::getCameras ( OutputArray  Rs,
OutputArray  Ts 
)
pure virtual

Returns the estimated camera extrinsic parameters.

Parameters
RsOutput vector of 3x3 rotations of the camera.
TsOutput vector of 3x1 translations of the camera.

Implements cv::sfm::BaseSFM.

◆ getError()

virtual double cv::sfm::SFMLibmvEuclideanReconstruction::getError ( ) const
pure virtual

Returns the computed reprojection error.

Implements cv::sfm::BaseSFM.

◆ getIntrinsics()

virtual cv::Mat cv::sfm::SFMLibmvEuclideanReconstruction::getIntrinsics ( ) const
pure virtual

Returns the refined camera calibration matrix.

Implements cv::sfm::BaseSFM.

◆ getPoints()

virtual void cv::sfm::SFMLibmvEuclideanReconstruction::getPoints ( OutputArray  points3d)
pure virtual

Returns the estimated 3d points.

Parameters
points3dOutput array with estimated 3d points.

Implements cv::sfm::BaseSFM.

◆ run() [1/4]

virtual void cv::sfm::SFMLibmvEuclideanReconstruction::run ( InputArrayOfArrays  points2d)
pure virtual

Calls the pipeline in order to perform Eclidean reconstruction.

Parameters
points2dInput vector of vectors of 2d points (the inner vector is per image).
Note
  • Tracks must be as precise as possible. It does not handle outliers and is very sensible to them.

Implements cv::sfm::BaseSFM.

◆ run() [2/4]

virtual void cv::sfm::SFMLibmvEuclideanReconstruction::run ( InputArrayOfArrays  points2d,
InputOutputArray  K,
OutputArray  Rs,
OutputArray  Ts,
OutputArray  points3d 
)
pure virtual

Calls the pipeline in order to perform Eclidean reconstruction.

Parameters
points2dInput vector of vectors of 2d points (the inner vector is per image).
KInput/Output camera matrix \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\). Input parameters used as initial guess.
RsOutput vector of 3x3 rotations of the camera.
TsOutput vector of 3x1 translations of the camera.
points3dOutput array with estimated 3d points.
Note
  • Tracks must be as precise as possible. It does not handle outliers and is very sensible to them.

Implements cv::sfm::BaseSFM.

◆ run() [3/4]

virtual void cv::sfm::SFMLibmvEuclideanReconstruction::run ( const std::vector< String > &  images)
pure virtual

Calls the pipeline in order to perform Eclidean reconstruction.

Parameters
imagesa vector of string with the images paths.
Note
  • The images must be ordered as they were an image sequence. Additionally, each frame should be as close as posible to the previous and posterior.
  • For now DAISY features are used in order to compute the 2d points tracks and it only works for 3-4 images.

Implements cv::sfm::BaseSFM.

◆ run() [4/4]

virtual void cv::sfm::SFMLibmvEuclideanReconstruction::run ( const std::vector< String > &  images,
InputOutputArray  K,
OutputArray  Rs,
OutputArray  Ts,
OutputArray  points3d 
)
pure virtual

Calls the pipeline in order to perform Eclidean reconstruction.

Parameters
imagesa vector of string with the images paths.
KInput/Output camera matrix \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\). Input parameters used as initial guess.
RsOutput vector of 3x3 rotations of the camera.
TsOutput vector of 3x1 translations of the camera.
points3dOutput array with estimated 3d points.
Note
  • The images must be ordered as they were an image sequence. Additionally, each frame should be as close as posible to the previous and posterior.
  • For now DAISY features are used in order to compute the 2d points tracks and it only works for 3-4 images.

Implements cv::sfm::BaseSFM.

◆ setCameraIntrinsicOptions()

virtual void cv::sfm::SFMLibmvEuclideanReconstruction::setCameraIntrinsicOptions ( const libmv_CameraIntrinsicsOptions libmv_camera_intrinsics_options)
pure virtual

Setter method for camera intrinsic options.

Parameters
libmv_camera_intrinsics_optionsstruct with camera intrinsic options such as camera model and the internal camera parameters.

Implements cv::sfm::BaseSFM.

◆ setReconstructionOptions()

virtual void cv::sfm::SFMLibmvEuclideanReconstruction::setReconstructionOptions ( const libmv_ReconstructionOptions libmv_reconstruction_options)
pure virtual

Setter method for reconstruction options.

Parameters
libmv_reconstruction_optionsstruct with reconstruction options such as initial keyframes, automatic keyframe selection, parameters to refine and the verbosity level.

Implements cv::sfm::BaseSFM.


The documentation for this class was generated from the following file: