A collection of methods for computing the relative pose between two calibrated central or non-central viewpoints. More...
#include <stdlib.h>
#include <vector>
#include <opengv/types.hpp>
#include <opengv/relative_pose/RelativeAdapterBase.hpp>
Go to the source code of this file.
Namespaces | |
opengv | |
The namespace of this library. | |
opengv::relative_pose | |
The namespace for the relative pose methods. | |
Functions | |
translation_t | opengv::relative_pose::twopt (const RelativeAdapterBase &adapter, bool unrotate, const std::vector< int > &indices) |
Compute the translation between two central viewpoints with known relative rotation, and using two correspondences. More... | |
translation_t | opengv::relative_pose::twopt (const RelativeAdapterBase &adapter, bool unrotate, size_t index0=0, size_t index1=1) |
Compute the translation between two central viewpoints with known relative rotation, and using two correspondences. More... | |
rotation_t | opengv::relative_pose::twopt_rotationOnly (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the rotation between two central viewpoints with pure rotation change, using only two correspondences. More... | |
rotation_t | opengv::relative_pose::twopt_rotationOnly (const RelativeAdapterBase &adapter, size_t index0=0, size_t index1=1) |
Compute the rotation between two central viewpoints with pure rotation change, using only two correspondences. More... | |
rotation_t | opengv::relative_pose::rotationOnly (const RelativeAdapterBase &adapter) |
Compute the rotation between two central viewpoints with pure rotation change using Arun's method [13]. Using all available correspondences. More... | |
rotation_t | opengv::relative_pose::rotationOnly (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the rotation between two central viewpoints with pure rotation change using Arun's method [13]. More... | |
complexEssentials_t | opengv::relative_pose::fivept_stewenius (const RelativeAdapterBase &adapter) |
Compute the complex essential matrices between two central viewpoints using Stewenius' method [5]. Using all available correspondences. More... | |
complexEssentials_t | opengv::relative_pose::fivept_stewenius (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the complex essential matrices between two central viewpoints using Stewenius' method [5]. More... | |
essentials_t | opengv::relative_pose::fivept_nister (const RelativeAdapterBase &adapter) |
Compute the essential matrices between two central viewpoints using Nister's method [6]. Using all available correspondences. More... | |
essentials_t | opengv::relative_pose::fivept_nister (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the essential matrices between two central viewpoints using Nister's method [6]. More... | |
rotations_t | opengv::relative_pose::fivept_kneip (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the rotation matrices between two central viewpoints using Kneips's method [7]. Only minimal case. More... | |
essentials_t | opengv::relative_pose::sevenpt (const RelativeAdapterBase &adapter) |
Compute the essential matrices between two central viewpoints using the seven-point algorithm [8]. Using all available correspondences. More... | |
essentials_t | opengv::relative_pose::sevenpt (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the essential matrices between two central viewpoints using the seven-point algorithm [8]. More... | |
essential_t | opengv::relative_pose::eightpt (const RelativeAdapterBase &adapter) |
Compute the essential matrix between two central viewpoints using the eight-point algorithm [9,10]. Using all available correspondences. More... | |
essential_t | opengv::relative_pose::eightpt (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the essential matrix between two central viewpoints using the eight-point algorithm [9,10]. More... | |
rotation_t | opengv::relative_pose::eigensolver (const RelativeAdapterBase &adapter, eigensolverOutput_t &output, bool useWeights=false) |
Compute the rotation matrix between two central viewpoints as an iterative eigenproblem [11]. Using all available correspondences. More... | |
rotation_t | opengv::relative_pose::eigensolver (const RelativeAdapterBase &adapter, const std::vector< int > &indices, eigensolverOutput_t &output, bool useWeights=false) |
Compute the rotation matrix between two central viewpoints as an iterative eigenproblem [11]. More... | |
rotation_t | opengv::relative_pose::eigensolver (const RelativeAdapterBase &adapter, bool useWeights=false) |
Compute the rotation matrix between two central viewpoints as an iterative eigenproblem [11]. Using all available correspondences. Outputs only the rotation. More... | |
rotation_t | opengv::relative_pose::eigensolver (const RelativeAdapterBase &adapter, const std::vector< int > &indices, bool useWeights=false) |
Compute the rotation matrix between two central viewpoints as an iterative eigenproblem [11]. Outputs only the rotation. More... | |
rotations_t | opengv::relative_pose::sixpt (const RelativeAdapterBase &adapter) |
Compute the relative rotation between two non-central viewpoints following Stewenius' method [16]. Assuming exactly 6 correspondences. More... | |
rotations_t | opengv::relative_pose::sixpt (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the relative rotation between two non-central viewpoints following Stewenius' method using 6 correspondences [16]. More... | |
rotation_t | opengv::relative_pose::ge (const RelativeAdapterBase &adapter, geOutput_t &output, bool useWeights=false) |
Compute the rotation matrix between two non-central viewpoints as an iterative eigenproblem. Using all available correspondences. More... | |
rotation_t | opengv::relative_pose::ge (const RelativeAdapterBase &adapter, const std::vector< int > &indices, geOutput_t &output, bool useWeights=false) |
Compute the rotation matrix between two non-central viewpoints as an iterative eigenproblem. More... | |
rotation_t | opengv::relative_pose::ge (const RelativeAdapterBase &adapter, bool useWeights=false) |
Compute the rotation matrix between two non-central viewpoints as an iterative eigenproblem. Using all available correspondences. Outputs only the rotation. More... | |
rotation_t | opengv::relative_pose::ge (const RelativeAdapterBase &adapter, const std::vector< int > &indices, bool useWeights=false) |
Compute the rotation matrix between two non-central viewpoints as an iterative eigenproblem. Outputs only the rotation. More... | |
transformation_t | opengv::relative_pose::seventeenpt (const RelativeAdapterBase &adapter) |
Compute the relative pose between two non-central viewpoints following Li's method [12]. Using all available correspondences. More... | |
transformation_t | opengv::relative_pose::seventeenpt (const RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the relative pose between two non-central viewpoints following Li's method [12]. More... | |
transformation_t | opengv::relative_pose::optimize_nonlinear (RelativeAdapterBase &adapter) |
Compute the pose between two viewpoints using nonlinear optimization. Using all available correspondences. Works for both central and non-central case. More... | |
transformation_t | opengv::relative_pose::optimize_nonlinear (RelativeAdapterBase &adapter, const std::vector< int > &indices) |
Compute the pose between two viewpoints using nonlinear optimization. Works for both central and non-central case. More... | |
A collection of methods for computing the relative pose between two calibrated central or non-central viewpoints.