Visual Servoing Platform  version 3.1.0
vpRansac< vpTransformation > Class Template Reference

#include <visp3/core/vpRansac.h>

Static Public Member Functions

static bool ransac (unsigned int npts, vpColVector &x, unsigned int s, double t, vpColVector &model, vpColVector &inliers, int consensus=1000, double not_used=0.0, const int maxNbumbersOfTrials=10000)
 

Detailed Description

template<class vpTransformation>
class vpRansac< vpTransformation >

This class is a generic implementation of the Ransac algorithm. It cannot be used alone.

RANSAC is described in [13] and [17].

The code of this class is inspired by : Peter Kovesi School of Computer Science & Software Engineering The University of Western Australia pk at csse uwa edu au http://www.csse.uwa.edu.au/~pk

See also
vpHomography

Definition at line 72 of file vpRansac.h.

Member Function Documentation

◆ ransac()

template<class vpTransformation >
bool vpRansac< vpTransformation >::ransac ( unsigned int  npts,
vpColVector x,
unsigned int  s,
double  t,
vpColVector M,
vpColVector inliers,
int  consensus = 1000,
double  not_used = 0.0,
const int  maxNbumbersOfTrials = 10000 
)
static

RANSAC - Robustly fits a model to data with the RANSAC algorithm.

Parameters
npts: The number of data points.
x: Data sets to which we are seeking to fit a model M It is assumed that x is of size [d x Npts] where d is the dimensionality of the data and npts is the number of data points.
s: The minimum number of samples from x required by fitting fn to fit a model. Value should be greater or equal to 4.
t: The distance threshold between data point and the model used to decide whether a point is an inlier or not.
M: The model having the greatest number of inliers.
inliers: An array of indices of the elements of x that were the inliers for the best model.
consensus: Consensus
not_used: Unused parameter.
maxNbumbersOfTrials: Maximum number of trials. Even if a solution is not found, the method is stopped.

Definition at line 111 of file vpRansac.h.

References vpException::fatalError, vpMath::maximum(), vpMath::minimum(), vpERROR_TRACE, and vpTRACE.