Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches

#include <vpRBSilhouetteControlPoint.h>

Public Member Functions

void init ()
 vpRBSilhouetteControlPoint ()
 vpRBSilhouetteControlPoint (const vpRBSilhouetteControlPoint &meTracker)
 vpRBSilhouetteControlPoint (const vpRBSilhouetteControlPoint &&meTracker)
vpRBSilhouetteControlPointoperator= (const vpRBSilhouetteControlPoint &meTracker)
vpRBSilhouetteControlPointoperator= (const vpRBSilhouetteControlPoint &&meTracker)
 ~vpRBSilhouetteControlPoint ()=default
void setNumCandidates (unsigned numCandidates)
unsigned getNumCandidates () const
void setValid (bool valid)
bool isValid () const
const vpCameraParametersgetCameraParameters () const
bool siteIsValid () const
const vpMeSitegetSite () const
vpMeSitegetSite ()
const vpFeatureLinegetFeatureLine () const
const vpLinegetLine () const
double getTheta () const
bool isSilhouette () const
void initControlPoint (const vpImage< unsigned char > &I, double cvlt)
void buildPoint (int n, int m, const double &Z, double orient, const vpColVector &normo, const vpHomogeneousMatrix &cMo, const vpHomogeneousMatrix &oMc, const vpCameraParameters &cam, const vpMe &me, bool isSilhouette)
void buildSilhouettePoint (int n, int m, const double &Z, double orient, const vpColVector &normo, const vpHomogeneousMatrix &cMo, const vpHomogeneousMatrix &oMc, const vpCameraParameters &cam)
void update (const vpHomogeneousMatrix &_cMo)
void updateSilhouettePoint (const vpHomogeneousMatrix &_cMo, const vpRotationMatrix &cRo)
void track (const vpImage< unsigned char > &I)
void trackMultipleHypotheses (const vpImage< unsigned char > &I)
void computeMeInteractionMatrixError (const vpHomogeneousMatrix &cMo, unsigned int i, vpMatrix &L, vpColVector &e)
void computeMeInteractionMatrixErrorMH (const vpHomogeneousMatrix &cMo, unsigned int i, vpMatrix &L, vpColVector &e)
double getMaxMaskGradientAlongLine (const vpImage< float > &mask, int searchSize) const
bool tooCloseToBorder (unsigned int h, unsigned int w, int searchSize) const

Public Attributes

vpImagePoint icpoint
vpPoint cpoint
vpPoint cpointo
double xs
double ys
double nxs
double nys
double Zs

Detailed Description

Trackable silhouette point representation.

Tutorials & Examples

Tutorials
If you want to have an in-depth presentation of the Render-Based Tracker (RBT), you may have a look at:

Definition at line 65 of file vpRBSilhouetteControlPoint.h.

Constructor & Destructor Documentation

◆ vpRBSilhouetteControlPoint() [1/3]

vpRBSilhouetteControlPoint::vpRBSilhouetteControlPoint ( )

◆ vpRBSilhouetteControlPoint() [2/3]

vpRBSilhouetteControlPoint::vpRBSilhouetteControlPoint ( const vpRBSilhouetteControlPoint & meTracker)

Definition at line 59 of file vpRBSilhouetteControlPoint.cpp.

References init(), and vpRBSilhouetteControlPoint().

◆ vpRBSilhouetteControlPoint() [3/3]

vpRBSilhouetteControlPoint::vpRBSilhouetteControlPoint ( const vpRBSilhouetteControlPoint && meTracker)

Definition at line 92 of file vpRBSilhouetteControlPoint.cpp.

References vpRBSilhouetteControlPoint().

◆ ~vpRBSilhouetteControlPoint()

vpRBSilhouetteControlPoint::~vpRBSilhouetteControlPoint ( )
default

Member Function Documentation

◆ buildPoint()

void vpRBSilhouetteControlPoint::buildPoint ( int n,
int m,
const double & Z,
double orient,
const vpColVector & normo,
const vpHomogeneousMatrix & cMo,
const vpHomogeneousMatrix & oMc,
const vpCameraParameters & cam,
const vpMe & me,
bool isSilhouette )

Definition at line 206 of file vpRBSilhouetteControlPoint.cpp.

References cpoint, cpointo, icpoint, isSilhouette(), nxs, and nys.

◆ buildSilhouettePoint()

void vpRBSilhouetteControlPoint::buildSilhouettePoint ( int n,
int m,
const double & Z,
double orient,
const vpColVector & normo,
const vpHomogeneousMatrix & cMo,
const vpHomogeneousMatrix & oMc,
const vpCameraParameters & cam )

◆ computeMeInteractionMatrixError()

void vpRBSilhouetteControlPoint::computeMeInteractionMatrixError ( const vpHomogeneousMatrix & cMo,
unsigned int i,
vpMatrix & L,
vpColVector & e )

Compute the interaction matrix and the error vector corresponding to the line.

Definition at line 363 of file vpRBSilhouetteControlPoint.cpp.

References vpFeatureBuilder::create(), and vpException::fatalError.

◆ computeMeInteractionMatrixErrorMH()

void vpRBSilhouetteControlPoint::computeMeInteractionMatrixErrorMH ( const vpHomogeneousMatrix & cMo,
unsigned int i,
vpMatrix & L,
vpColVector & e )

◆ getCameraParameters()

const vpCameraParameters & vpRBSilhouetteControlPoint::getCameraParameters ( ) const
inline

Definition at line 120 of file vpRBSilhouetteControlPoint.h.

◆ getFeatureLine()

const vpFeatureLine & vpRBSilhouetteControlPoint::getFeatureLine ( ) const
inline

Definition at line 124 of file vpRBSilhouetteControlPoint.h.

◆ getLine()

const vpLine & vpRBSilhouetteControlPoint::getLine ( ) const
inline

Definition at line 125 of file vpRBSilhouetteControlPoint.h.

◆ getMaxMaskGradientAlongLine()

double vpRBSilhouetteControlPoint::getMaxMaskGradientAlongLine ( const vpImage< float > & mask,
int searchSize ) const

Definition at line 488 of file vpRBSilhouetteControlPoint.cpp.

References icpoint.

Referenced by vpRBSilhouetteCCDTracker::extractFeatures().

◆ getNumCandidates()

unsigned vpRBSilhouetteControlPoint::getNumCandidates ( ) const
inline

Definition at line 116 of file vpRBSilhouetteControlPoint.h.

◆ getSite() [1/2]

vpMeSite & vpRBSilhouetteControlPoint::getSite ( )
inline

Definition at line 123 of file vpRBSilhouetteControlPoint.h.

◆ getSite() [2/2]

const vpMeSite & vpRBSilhouetteControlPoint::getSite ( ) const
inline

Definition at line 122 of file vpRBSilhouetteControlPoint.h.

◆ getTheta()

double vpRBSilhouetteControlPoint::getTheta ( ) const
inline

Definition at line 126 of file vpRBSilhouetteControlPoint.h.

◆ init()

BEGIN_VISP_NAMESPACE void vpRBSilhouetteControlPoint::init ( )

◆ initControlPoint()

void vpRBSilhouetteControlPoint::initControlPoint ( const vpImage< unsigned char > & I,
double cvlt )

Definition at line 346 of file vpRBSilhouetteControlPoint.cpp.

References icpoint, and vpColVector::init().

◆ isSilhouette()

bool vpRBSilhouetteControlPoint::isSilhouette ( ) const
inline

Definition at line 127 of file vpRBSilhouetteControlPoint.h.

Referenced by buildPoint().

◆ isValid()

bool vpRBSilhouetteControlPoint::isValid ( ) const
inline

◆ operator=() [1/2]

vpRBSilhouetteControlPoint & vpRBSilhouetteControlPoint::operator= ( const vpRBSilhouetteControlPoint && meTracker)

Definition at line 97 of file vpRBSilhouetteControlPoint.cpp.

References cpoint, cpointo, icpoint, nxs, nys, vpRBSilhouetteControlPoint(), xs, ys, and Zs.

◆ operator=() [2/2]

vpRBSilhouetteControlPoint & vpRBSilhouetteControlPoint::operator= ( const vpRBSilhouetteControlPoint & meTracker)

Definition at line 65 of file vpRBSilhouetteControlPoint.cpp.

References cpoint, cpointo, icpoint, nxs, nys, vpRBSilhouetteControlPoint(), xs, ys, and Zs.

◆ setNumCandidates()

void vpRBSilhouetteControlPoint::setNumCandidates ( unsigned numCandidates)
inline

Set the number of candidates to use for multiple hypotheses testing.

Parameters
numCandidates

Definition at line 115 of file vpRBSilhouetteControlPoint.h.

◆ setValid()

void vpRBSilhouetteControlPoint::setValid ( bool valid)
inline

Definition at line 117 of file vpRBSilhouetteControlPoint.h.

◆ siteIsValid()

bool vpRBSilhouetteControlPoint::siteIsValid ( ) const
inline

Definition at line 121 of file vpRBSilhouetteControlPoint.h.

References vpMeSite::NO_SUPPRESSION.

◆ tooCloseToBorder()

bool vpRBSilhouetteControlPoint::tooCloseToBorder ( unsigned int h,
unsigned int w,
int searchSize ) const

Definition at line 513 of file vpRBSilhouetteControlPoint.cpp.

References icpoint.

◆ track()

void vpRBSilhouetteControlPoint::track ( const vpImage< unsigned char > & I)

Track the moving edge at this point retaining only the hypothesis with the highest likelihood.

Parameters
IThe image in which to track.

Definition at line 125 of file vpRBSilhouetteControlPoint.cpp.

References vpMeSite::NO_SUPPRESSION, vpMeSite::THRESHOLD, and vpERROR_TRACE.

◆ trackMultipleHypotheses()

void vpRBSilhouetteControlPoint::trackMultipleHypotheses ( const vpImage< unsigned char > & I)

Track the moving edge and retain the best numCandidates hypotheses.

Parameters
IThe image in which to track
See also
setNumCandidates()

Definition at line 144 of file vpRBSilhouetteControlPoint.cpp.

References vpMeSite::NO_SUPPRESSION, vpMeSite::THRESHOLD, and vpERROR_TRACE.

◆ update()

void vpRBSilhouetteControlPoint::update ( const vpHomogeneousMatrix & _cMo)

Definition at line 281 of file vpRBSilhouetteControlPoint.cpp.

References cpointo, and icpoint.

◆ updateSilhouettePoint()

void vpRBSilhouetteControlPoint::updateSilhouettePoint ( const vpHomogeneousMatrix & _cMo,
const vpRotationMatrix & cRo )

Member Data Documentation

◆ cpoint

vpPoint vpRBSilhouetteControlPoint::cpoint

◆ cpointo

vpPoint vpRBSilhouetteControlPoint::cpointo

◆ icpoint

◆ nxs

double vpRBSilhouetteControlPoint::nxs

◆ nys

double vpRBSilhouetteControlPoint::nys

◆ xs

double vpRBSilhouetteControlPoint::xs

◆ ys

double vpRBSilhouetteControlPoint::ys

◆ Zs

double vpRBSilhouetteControlPoint::Zs