CVR-Lib last update 20 Sep 2009

cvr::ransacEstimation< E > Class Template Reference
[Geometric Image Transformations]

Template Class ransacEstimation<E>. More...

#include <cvrRansacEstimation.h>

Inheritance diagram for cvr::ransacEstimation< E >:

Inheritance graph
[legend]
Collaboration diagram for cvr::ransacEstimation< E >:

Collaboration graph
[legend]

List of all members.

Classes

class  parameters
 The parameters for the class ransacEstimation. More...

Public Member Functions

 ransacEstimation ()
 ransacEstimation (const parameters &par)
 ransacEstimation (const ransacEstimation< E > &other)
virtual ~ransacEstimation ()
template<class P >
bool apply (const std::vector< P > &setA, const std::vector< P > &setB, typename E::parameters &result) const
template<class P >
bool apply (const std::vector< P > &setA, const std::vector< P > &setB, ivector &inliers, typename E::parameters &result) const
ransacEstimation< E > & copy (const ransacEstimation< E > &other)
ransacEstimation< E > & operator= (const ransacEstimation< E > &other)
virtual const std::string & name () const
virtual ransacEstimation< E > * clone () const
virtual ransacEstimation< E > * newInstance () const
const parametersgetParameters () const
virtual bool updateParameters ()


Detailed Description

template<class E>
class cvr::ransacEstimation< E >

Template Class ransacEstimation<E>.

This class estimates a transform E using the RANSAC algorithm, which is a robust estimation approach that maximizes the number of inliers. At each iteration a subset of points/correspondences is drawn from which the transform is computed.

Theoretically the RANSAC algorithm copes with up to 90% outliers. It is advised though, to verify the estimated transform and repeat the estimation in case the result is not satisfactory.

The template type E corresponds to a basic estimation class like:

In any case, it is expected for that class E to provide the methods

See also:
ransacEstimation::parameters.

Constructor & Destructor Documentation

template<class E>
cvr::ransacEstimation< E >::ransacEstimation (  ) 

Default constructor.

template<class E>
cvr::ransacEstimation< E >::ransacEstimation ( const parameters par  ) 

Construct a functor using the given parameters.

template<class E>
cvr::ransacEstimation< E >::ransacEstimation ( const ransacEstimation< E > &  other  ) 

Copy constructor.

Parameters:
other the object to be copied

template<class E>
virtual cvr::ransacEstimation< E >::~ransacEstimation (  )  [virtual]

Destructor.


Member Function Documentation

template<class E>
template<class P >
bool cvr::ransacEstimation< E >::apply ( const std::vector< P > &  setA,
const std::vector< P > &  setB,
ivector inliers,
typename E::parameters &  result 
) const [inline]

Estimates the transformation for the given set of correspondences.

It will be assumed that for any valid index i the point setA[i] has a correspondent point setB[i].

Parameters:
setA first set of points of type P.
setB second set of points of type P.
inliers output container with the indices of the inliers detected
dest std::vector<P> where the result will be left.
Returns:
true if apply successful or false otherwise.

template<class E>
template<class P >
bool cvr::ransacEstimation< E >::apply ( const std::vector< P > &  setA,
const std::vector< P > &  setB,
typename E::parameters &  result 
) const [inline]

Estimates the transformation for the given set of correspondences.

It will be assumed that for any valid index i the point setA[i] has a correspondent point setB[i].

Parameters:
setA first set of points of type P.
setB second set of points of type P.
dest std::vector<P> where the result will be left.
Returns:
true if apply successful or false otherwise.

template<class E>
virtual ransacEstimation<E>* cvr::ransacEstimation< E >::clone (  )  const [virtual]

Returns a pointer to a clone of this functor.

Implements cvr::functor.

template<class E>
ransacEstimation<E>& cvr::ransacEstimation< E >::copy ( const ransacEstimation< E > &  other  ) 

Copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

template<class E>
const parameters& cvr::ransacEstimation< E >::getParameters (  )  const

Returns used parameters.

Reimplemented from cvr::parametersManager.

template<class E>
virtual const std::string& cvr::ransacEstimation< E >::name (  )  const [virtual]

Returns the name of this type, which depends on the template parameters.

Implements cvr::functor.

template<class E>
virtual ransacEstimation<E>* cvr::ransacEstimation< E >::newInstance (  )  const [virtual]

Returns a pointer to a new instance of this functor.

Implements cvr::functor.

template<class E>
ransacEstimation<E>& cvr::ransacEstimation< E >::operator= ( const ransacEstimation< E > &  other  ) 

Alias for copy member.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

template<class E>
virtual bool cvr::ransacEstimation< E >::updateParameters (  )  [virtual]

Update parameters.

Reimplemented from cvr::parametersManager.


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

Generated on Sun Sep 20 22:09:04 2009 for CVR-Lib by Doxygen 1.5.8