Visual Servoing Platform  version 3.5.1 under development (2023-09-22)
vpRansac< vpTransformation > Class Template Reference

#include <visp3/core/vpRansac.h>

Static Public Member Functions

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

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 [15] and [19].

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 67 of file vpRansac.h.

Member Function Documentation

◆ ransac()

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

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

Parameters
[in]npts: The number of data points.
[in]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.
[in]s: The minimum number of samples from x required by fitting fn to fit a model. Value should be greater or equal to 4.
[in]t: The distance threshold between data point and the model used to decide whether a point is an inlier or not.
[out]M: The model having the greatest number of inliers.
[out]inliers: An array of indices of the elements of x that were the inliers for the best model.
[in]consensus: Consensus
[in]not_used: Unused parameter.
[in]maxNbumbersOfTrials: Maximum number of trials. Even if a solution is not found, the method is stopped.
[out]residual: Residual

Definition at line 108 of file vpRansac.h.

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