Loading...
Searching...
No Matches
opengv::absolute_pose Namespace Reference

The namespace for the absolute pose methods. More...

## Classes

class | AbsoluteAdapterBase
class | AbsoluteMultiAdapterBase
class | CentralAbsoluteAdapter
class | MACentralAbsolute
class | MANoncentralAbsolute
class | NoncentralAbsoluteAdapter
class | NoncentralAbsoluteMultiAdapter

## Functions

translation_t | p2p (const AbsoluteAdapterBase &adapter, const std::vector< int > &indices)
| Compute the pose of a central viewpoint with known rotation using two point correspondences.
translation_t | p2p (const AbsoluteAdapterBase &adapter, size_t index0=0, size_t index1=1)
| Compute the pose of a central viewpoint with known rotation using two point correspondences.
transformations_t | p3p_kneip (const AbsoluteAdapterBase &adapter, const std::vector< int > &indices)
| Compute the pose of a central viewpoint using three point correspondences and Kneip's method [1].
transformations_t | p3p_kneip (const AbsoluteAdapterBase &adapter, size_t index0=0, size_t index1=1, size_t index2=2)
| Compute the pose of a central viewpoint using three point correspondences and Kneip's method [1].
transformations_t | p3p_gao (const AbsoluteAdapterBase &adapter, const std::vector< int > &indices)
| Compute the pose of a central viewpoint using three point correspondences and Gao's method [2].
transformations_t | p3p_gao (const AbsoluteAdapterBase &adapter, size_t index0=0, size_t index1=1, size_t index2=2)
| Compute the pose of a central viewpoint using three point correspondences and Gao's method [2].
transformations_t | gp3p (const AbsoluteAdapterBase &adapter, const std::vector< int > &indices)
| Compute the pose of a non-central viewpoint using three point correspondences and Kneip's method [3].
transformations_t | gp3p (const AbsoluteAdapterBase &adapter, size_t index0=0, size_t index1=1, size_t index2=2)
| Compute the pose of a non-central viewpoint using three point correspondences and Kneip's method [3].
transformation_t | epnp (const AbsoluteAdapterBase &adapter)
| Compute the pose of a central viewpoint using the EPnP method [4]. Using all available correspondences.
transformation_t | epnp (const AbsoluteAdapterBase &adapter, const std::vector< int > &indices)
| Compute the pose of a central viewpoint using the EPnP method [4].
transformation_t | gpnp (const AbsoluteAdapterBase &adapter)
| Compute the pose of a non-central viewpoint using the gPnP method [3]. Using all available correspondences.
transformation_t | gpnp (const AbsoluteAdapterBase &adapter, const std::vector< int > &indices)
| Compute the pose of a non-central viewpoint using the gPnP method [3].
transformations_t | upnp (const AbsoluteAdapterBase &adapter)
| Compute the poses of a non-central viewpoint using the uPnP method. Using all available correspondences.
transformations_t | upnp (const AbsoluteAdapterBase &adapter, const std::vector< int > &indices)
| Compute the poses of a non-central viewpoint using the uPnP method.
transformation_t | optimize_nonlinear (const AbsoluteAdapterBase &adapter)
| Compute the pose of a viewpoint using nonlinear optimization. Using all available correspondences. Works for central and non-central case.
transformation_t | optimize_nonlinear (const AbsoluteAdapterBase &adapter, const std::vector< int > &indices)
| Compute the pose of a viewpoint using nonlinear optimization. Works for central and non-central viewpoints.

## Detailed Description

The namespace for the absolute pose methods.

## Function Documentation

## epnp() [1/2]

transformation_t opengv::absolute_pose::epnp | ( | const AbsoluteAdapterBase & | adapter | ) |

Compute the pose of a central viewpoint using the EPnP method [4]. Using all available correspondences.

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences.

Returns
  Pose of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame).

## epnp() [2/2]

transformation_t opengv::absolute_pose::epnp | ( | const AbsoluteAdapterBase & | adapter,
|  | const std::vector< int > & | indices )

Compute the pose of a central viewpoint using the EPnP method [4].

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences.
  [in] | indices | Indices of the n correspondences that are used for deriving the pose.

Returns
  Pose of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame).

## gp3p() [1/2]

transformations_t opengv::absolute_pose::gp3p | ( | const AbsoluteAdapterBase & | adapter,
|  | const std::vector< int > & | indices )

Compute the pose of a non-central viewpoint using three point correspondences and Kneip's method [3].

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences, plus the multi-camera configuration.
  [in] | indices | Indices of the three correspondences that are used for deriving the pose.

Returns
  Poses of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame, maximum 8 solutions).

## gp3p() [2/2]

transformations_t opengv::absolute_pose::gp3p | ( | const AbsoluteAdapterBase & | adapter,
|  | size_t | index0 = 0,
|  | size_t | index1 = 1,
|  | size_t | index2 = 2 )

Compute the pose of a non-central viewpoint using three point correspondences and Kneip's method [3].

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences, plus the multi-camera configuration.
  [in] | index0 | Index of the first correspondence used for deriving the pose (use default value if only three correspondences provided anyway).
  [in] | index1 | Index of the second correspondence used for deriving the pose (use default value if only three correspondences provided anyway).
  [in] | index2 | Index of the third correspondence used for deriving the pose (use default value if only three correspondences provided anyway).

Returns
  Poses of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame, maximum 8 solutions).

## gpnp() [1/2]

transformation_t opengv::absolute_pose::gpnp | ( | const AbsoluteAdapterBase & | adapter | ) |

Compute the pose of a non-central viewpoint using the gPnP method [3]. Using all available correspondences.

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences, plus the multi-camera configuration.

Returns
  Pose of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame).

## gpnp() [2/2]

transformation_t opengv::absolute_pose::gpnp | ( | const AbsoluteAdapterBase & | adapter,
|  | const std::vector< int > & | indices )

Compute the pose of a non-central viewpoint using the gPnP method [3].

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences, plus the multi-camera configuration.
  [in] | indices | Indices of the n correspondences that are used for deriving the pose.

Returns
  Pose of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame).

## optimize_nonlinear() [1/2]

transformation_t opengv::absolute_pose::optimize_nonlinear | ( | const AbsoluteAdapterBase & | adapter | ) |

Compute the pose of a viewpoint using nonlinear optimization. Using all available correspondences. Works for central and non-central case.

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences, the multi-camera configuration, plus the initial values.

Returns
  Pose of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame).

## optimize_nonlinear() [2/2]

transformation_t opengv::absolute_pose::optimize_nonlinear | ( | const AbsoluteAdapterBase & | adapter,
|  | const std::vector< int > & | indices )

Compute the pose of a viewpoint using nonlinear optimization. Works for central and non-central viewpoints.

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences, the multi-camera configuration, plus the initial values.
  [in] | indices | Indices of the n correspondences that are used for deriving the pose.

Returns
  Pose of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame).

## p2p() [1/2]

translation_t opengv::absolute_pose::p2p | ( | const AbsoluteAdapterBase & | adapter,
|  | const std::vector< int > & | indices )

Compute the pose of a central viewpoint with known rotation using two point correspondences.

Parameters

  [in] | adapter | Visitor holding bearing vectors, world points, and known rotation.
  [in] | indices | Indices of the two correspondences that are used for deriving the translation.

Returns
  The position of the viewpoint seen from the world frame.

## p2p() [2/2]

translation_t opengv::absolute_pose::p2p | ( | const AbsoluteAdapterBase & | adapter,
|  | size_t | index0 = 0,
|  | size_t | index1 = 1 )

Compute the pose of a central viewpoint with known rotation using two point correspondences.

Parameters

  [in] | adapter | Visitor holding bearing vectors, world points, and known rotation.
  [in] | index0 | Index of the first correspondence used for deriving the translation (use default value if only two vectors provided by the visitor anyway).
  [in] | index1 | Index of the second correspondence used for deriving the translation (use default value if only two vectors provided by the visitor anyway).

Returns
  The position of the viewpoint seen from the world frame.

## p3p_gao() [1/2]

transformations_t opengv::absolute_pose::p3p_gao | ( | const AbsoluteAdapterBase & | adapter,
|  | const std::vector< int > & | indices )

Compute the pose of a central viewpoint using three point correspondences and Gao's method [2].

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences.
  [in] | indices | Indices of the three correspondences that are used for deriving the pose.

Returns
  Poses of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame, maximum 4 solutions).

## p3p_gao() [2/2]

transformations_t opengv::absolute_pose::p3p_gao | ( | const AbsoluteAdapterBase & | adapter,
|  | size_t | index0 = 0,
|  | size_t | index1 = 1,
|  | size_t | index2 = 2 )

Compute the pose of a central viewpoint using three point correspondences and Gao's method [2].

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences.
  [in] | index0 | Index of the first correspondence used for deriving the pose (use default value if only three correspondences provided anyway).
  [in] | index1 | Index of the second correspondence used for deriving the pose (use default value if only three correspondences provided anyway).
  [in] | index2 | Index of the third correspondence used for deriving the pose (use default value if only three correspondences provided anyway).

Returns
  Poses of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame, maximum 4 solutions).

## p3p_kneip() [1/2]

transformations_t opengv::absolute_pose::p3p_kneip | ( | const AbsoluteAdapterBase & | adapter,
|  | const std::vector< int > & | indices )

Compute the pose of a central viewpoint using three point correspondences and Kneip's method [1].

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences.
  [in] | indices | Indices of the three correspondences that are used for deriving the pose.

Returns
  Poses of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world, frame, maximum 4 solutions).

## p3p_kneip() [2/2]

transformations_t opengv::absolute_pose::p3p_kneip | ( | const AbsoluteAdapterBase & | adapter,
|  | size_t | index0 = 0,
|  | size_t | index1 = 1,
|  | size_t | index2 = 2 )

Compute the pose of a central viewpoint using three point correspondences and Kneip's method [1].

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences.
  [in] | index0 | Index of the first correspondence used for deriving the pose (use default value if only three correspondences provided anyway).
  [in] | index1 | Index of the second correspondence used for deriving the pose (use default value if only three correspondences provided anyway).
  [in] | index2 | Index of the third correspondence used for deriving the pose (use default value if only three correspondences provided anyway).

Returns
  Poses of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame, maximum 4 solutions).

## upnp() [1/2]

transformations_t opengv::absolute_pose::upnp | ( | const AbsoluteAdapterBase & | adapter | ) |

Compute the poses of a non-central viewpoint using the uPnP method. Using all available correspondences.

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences, plus the multi-camera configuration.

Returns
  Poses of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame).

## upnp() [2/2]

transformations_t opengv::absolute_pose::upnp | ( | const AbsoluteAdapterBase & | adapter,
|  | const std::vector< int > & | indices )

Compute the poses of a non-central viewpoint using the uPnP method.

Parameters

  [in] | adapter | Visitor holding bearing vector to world point correspondences, plus the multi-camera configuration.
  [in] | indices | Indices of the n correspondences that are used for deriving the pose.

Returns
  Poses of viewpoint (position seen from world frame and orientation from viewpoint to world frame, transforms points from viewpoint to world frame).