TooN Algorithm Library - tag  0.2
Functions
Camera pose estimation

Functions

int tag::three_point_pose (const TooN::Vector< 3 > x[], const TooN::Vector< 2 > z[], std::vector< TooN::SE3<> > &poses)
 
int tag::three_point_pose (const TooN::Vector< 3 > x[], const TooN::Vector< 3 > rays[], std::vector< TooN::SE3<> > &poses)
 

Detailed Description

contains functions for estimating camera pose from different correspondences.

Function Documentation

int tag::three_point_pose ( const TooN::Vector< 3 >  x[],
const TooN::Vector< 2 >  z[],
std::vector< TooN::SE3<> > &  poses 
)

The function for pose estimation from three 2D - 3D point correspondences. It implements the algorithm given by the Fischer and Bolles RANSAC paper, 1980. This function assumes that the three points are in general position (not collinear). Input is an array of 3D cartesian positions and an array of 2D vectors that are the perspective projections of the points. Ouput is up to four poses satisfying the input with positive depths (points in front of the camera).

Parameters
[in]xan array containing at least 3 points
[in]zan array containing the perspective projections of the points given by x in the current pose
[out]posesthe vector onto which any valid poses are appended
Returns
the number of poses appended to the vector
int tag::three_point_pose ( const TooN::Vector< 3 >  x[],
const TooN::Vector< 3 >  rays[],
std::vector< TooN::SE3<> > &  poses 
)

The function for pose estimation from three 2D - 3D point correspondences. It implements the algorithm given by the Fischer and Bolles RANSAC paper, 1980. This function assumes that the three points are in general position (not collinear). Input is an array of 3D cartesian positions and an array of 3D vectors that are rays corresponding to (unprojected) 2D observations of the 3D points. Ouput is up to four poses satisfying the input with positive depths (points in front of the camera).

Parameters
[in]xan array containing at least 3 points
[in]zan array containing the rays corresponding to image points cast by x in the current pose
[out]posesthe vector onto which any valid poses are appended
Returns
the number of poses appended to the vector

References tag::find_quartic_real_roots(), tag::newton_quartic(), tag::square(), and tag::three_point_absolute_orientation().