Visual Servoing Platform  version 3.2.0
vpFeatureEllipse Class Reference

#include <vpFeatureEllipse.h>

+ Inheritance diagram for vpFeatureEllipse:

Public Types

enum  { FEATURE_ALL = 0xffff }
 
enum  vpBasicFeatureDeallocatorType { user, vpServo }
 

Public Member Functions

 vpFeatureEllipse ()
 
virtual ~vpFeatureEllipse ()
 
 vpFeatureEllipse (const double x, const double y, const double mu20, const double mu11, const double mu02)
 
void buildFrom (const double x, const double y, const double mu20, const double mu11, const double mu02)
 
void buildFrom (const double x, const double y, const double mu20, const double mu11, const double mu02, const double A, const double B, const double C)
 
void display (const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const
 
void display (const vpCameraParameters &cam, const vpImage< vpRGBa > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const
 
vpFeatureEllipseduplicate () const
 
vpColVector error (const vpBasicFeature &s_star, const unsigned int select=FEATURE_ALL)
 
vpColVector error (const unsigned int select=FEATURE_ALL)
 
double get_x () const
 
double get_y () const
 
double getMu20 () const
 
double getMu11 () const
 
double getMu02 () const
 
void init ()
 
vpMatrix interaction (const unsigned int select=FEATURE_ALL)
 
void print (const unsigned int select=FEATURE_ALL) const
 
void set_x (const double x)
 
void set_y (const double y)
 
void set_xy (const double x, const double y)
 
void setABC (const double A, const double B, const double C)
 
void setMu (const double mu20, const double mu11, const double mu02)
 

Static Public Member Functions

static unsigned int selectX ()
 
static unsigned int selectY ()
 
static unsigned int selectMu20 ()
 
static unsigned int selectMu11 ()
 
static unsigned int selectMu02 ()
 

Static Public Attributes

static const unsigned int FEATURE_LINE [32]
 

Protected Attributes

vpColVector s
 
unsigned int dim_s
 
bool * flags
 
unsigned int nbParameters
 

Inherited functionalities from vpBasicFeature

unsigned int dimension_s ()
 
vpColVector get_s (unsigned int select=FEATURE_ALL) const
 
vpBasicFeatureDeallocatorType getDeallocate ()
 
unsigned int getDimension (const unsigned int select=FEATURE_ALL) const
 
virtual double operator[] (const unsigned int i) const
 
void setDeallocate (vpBasicFeatureDeallocatorType d)
 
void setFlags ()
 
static unsigned int selectAll ()
 
vpBasicFeatureDeallocatorType deallocate
 
void resetFlags ()
 

Detailed Description

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
Enumerator
FEATURE_ALL 

Definition at line 81 of file vpBasicFeature.h.

◆ vpBasicFeatureDeallocatorType

Indicates who should deallocate the feature.

Enumerator
user 
vpServo 

Definition at line 87 of file vpBasicFeature.h.

Constructor & Destructor Documentation

◆ vpFeatureEllipse() [1/2]

vpFeatureEllipse::vpFeatureEllipse ( )

Default constructor.

Definition at line 89 of file vpFeatureEllipse.cpp.

References init().

◆ ~vpFeatureEllipse()

virtual vpFeatureEllipse::~vpFeatureEllipse ( )
inlinevirtual

Destructor.

Definition at line 72 of file vpFeatureEllipse.h.

◆ vpFeatureEllipse() [2/2]

vpFeatureEllipse::vpFeatureEllipse ( const double  x,
const double  y,
const double  mu20,
const double  mu11,
const double  mu02 
)

basic constructor

coordinates

Member Function Documentation

◆ buildFrom() [1/2]

void vpFeatureEllipse::buildFrom ( const double  x,
const double  y,
const double  mu20,
const double  mu11,
const double  mu02 
)

◆ buildFrom() [2/2]

void vpFeatureEllipse::buildFrom ( const double  x,
const double  y,
const double  mu20,
const double  mu11,
const double  mu02,
const double  A,
const double  B,
const double  C 
)

◆ dimension_s()

unsigned int vpBasicFeature::dimension_s ( )
inlineinherited

Return the dimension of the feature vector $\bf s$.

Definition at line 109 of file vpBasicFeature.h.

◆ display() [1/2]

void vpFeatureEllipse::display ( const vpCameraParameters cam,
const vpImage< unsigned char > &  I,
const vpColor color = vpColor::green,
unsigned int  thickness = 1 
) const
virtual

Display ellipse feature.

Parameters
cam: Camera parameters.
I: Image on which features have to be displayed.
color: Color used to display the feature.
thickness: Thickness of the feature representation.

Implements vpBasicFeature.

Examples
testTrackDot.cpp.

Definition at line 367 of file vpFeatureEllipse.cpp.

◆ display() [2/2]

void vpFeatureEllipse::display ( const vpCameraParameters cam,
const vpImage< vpRGBa > &  I,
const vpColor color = vpColor::green,
unsigned int  thickness = 1 
) const
virtual

Display ellipse feature.

Parameters
cam: Camera parameters.
I: Color image on which features have to be displayed.
color: Color used to display the feature.
thickness: Thickness of the feature representation.

Implements vpBasicFeature.

Definition at line 395 of file vpFeatureEllipse.cpp.

◆ duplicate()

vpFeatureEllipse * vpFeatureEllipse::duplicate ( ) const
virtual

Feature duplication.

for memory issue (used by the vpServo class only)

Implements vpBasicFeature.

Definition at line 415 of file vpFeatureEllipse.cpp.

◆ error() [1/2]

vpColVector vpFeatureEllipse::error ( const unsigned int  select = FEATURE_ALL)

compute the error between a visual features and zero

◆ error() [2/2]

vpColVector vpFeatureEllipse::error ( const vpBasicFeature s_star,
const unsigned int  select = FEATURE_ALL 
)
virtual

compute the error between two visual features from a subset a the possible features

Reimplemented from vpBasicFeature.

Definition at line 225 of file vpFeatureEllipse.cpp.

◆ get_s()

vpColVector vpBasicFeature::get_s ( unsigned int  select = FEATURE_ALL) const
inherited

Get the feature vector $\bf s$.

Examples
servoAfma6Ellipse2DCamVelocity.cpp.

Definition at line 113 of file vpBasicFeature.cpp.

◆ get_x()

double vpFeatureEllipse::get_x ( ) const
inline

Definition at line 98 of file vpFeatureEllipse.h.

◆ get_y()

double vpFeatureEllipse::get_y ( ) const
inline

Definition at line 99 of file vpFeatureEllipse.h.

◆ getDeallocate()

vpBasicFeatureDeallocatorType vpBasicFeature::getDeallocate ( )
inlineinherited

Definition at line 122 of file vpBasicFeature.h.

◆ getDimension()

unsigned int vpBasicFeature::getDimension ( const unsigned int  select = FEATURE_ALL) const
inherited

Get the feature vector dimension.

Definition at line 99 of file vpBasicFeature.cpp.

◆ getMu02()

double vpFeatureEllipse::getMu02 ( ) const
inline

Definition at line 102 of file vpFeatureEllipse.h.

◆ getMu11()

double vpFeatureEllipse::getMu11 ( ) const
inline

Definition at line 101 of file vpFeatureEllipse.h.

◆ getMu20()

double vpFeatureEllipse::getMu20 ( ) const
inline

Definition at line 100 of file vpFeatureEllipse.h.

◆ init()

void vpFeatureEllipse::init ( void  )
virtual

Default initialization.

Implements vpBasicFeature.

Definition at line 71 of file vpFeatureEllipse.cpp.

References vpBasicFeature::dim_s, vpBasicFeature::flags, vpBasicFeature::nbParameters, vpColVector::resize(), and vpBasicFeature::s.

Referenced by vpFeatureEllipse().

◆ interaction()

vpMatrix vpFeatureEllipse::interaction ( const unsigned int  select = FEATURE_ALL)
virtual

compute the interaction matrix from a subset a the possible features

Implements vpBasicFeature.

Definition at line 92 of file vpFeatureEllipse.cpp.

◆ operator[]()

virtual double vpBasicFeature::operator[] ( const unsigned int  i) const
inlinevirtualinherited

Return element i in the state vector (usage : x = s[i] )

Definition at line 129 of file vpBasicFeature.h.

◆ print()

void vpFeatureEllipse::print ( const unsigned int  select = FEATURE_ALL) const
virtual

print the name of the feature

Implements vpBasicFeature.

Examples
servoSimuCircle2DCamVelocityDisplay.cpp.

Definition at line 269 of file vpFeatureEllipse.cpp.

References vpBasicFeature::s, selectMu02(), selectMu11(), selectMu20(), selectX(), and selectY().

◆ resetFlags()

void vpBasicFeature::resetFlags ( )
protectedinherited

Definition at line 130 of file vpBasicFeature.cpp.

References vpBasicFeature::flags, and vpBasicFeature::nbParameters.

◆ selectAll()

static unsigned int vpBasicFeature::selectAll ( )
inlinestaticinherited

Select all the features.

Definition at line 141 of file vpBasicFeature.h.

◆ selectMu02()

unsigned int vpFeatureEllipse::selectMu02 ( )
static

Definition at line 425 of file vpFeatureEllipse.cpp.

References vpBasicFeature::FEATURE_LINE.

Referenced by print().

◆ selectMu11()

unsigned int vpFeatureEllipse::selectMu11 ( )
static

Definition at line 424 of file vpFeatureEllipse.cpp.

References vpBasicFeature::FEATURE_LINE.

Referenced by print().

◆ selectMu20()

unsigned int vpFeatureEllipse::selectMu20 ( )
static

Definition at line 423 of file vpFeatureEllipse.cpp.

References vpBasicFeature::FEATURE_LINE.

Referenced by print().

◆ selectX()

unsigned int vpFeatureEllipse::selectX ( )
static

vpBasicFeature method instantiation

Definition at line 421 of file vpFeatureEllipse.cpp.

Referenced by print().

◆ selectY()

unsigned int vpFeatureEllipse::selectY ( )
static

Definition at line 422 of file vpFeatureEllipse.cpp.

References vpBasicFeature::FEATURE_LINE.

Referenced by print().

◆ set_x()

void vpFeatureEllipse::set_x ( const double  x)

Definition at line 319 of file vpFeatureEllipse.cpp.

References vpBasicFeature::flags, and vpBasicFeature::s.

◆ set_xy()

void vpFeatureEllipse::set_xy ( const double  x,
const double  y 
)

Definition at line 331 of file vpFeatureEllipse.cpp.

References vpBasicFeature::flags, and vpBasicFeature::s.

◆ set_y()

void vpFeatureEllipse::set_y ( const double  y)

Definition at line 325 of file vpFeatureEllipse.cpp.

References vpBasicFeature::flags, and vpBasicFeature::s.

◆ setABC()

void vpFeatureEllipse::setABC ( const double  A,
const double  B,
const double  C 
)

◆ setDeallocate()

void vpBasicFeature::setDeallocate ( vpBasicFeatureDeallocatorType  d)
inlineinherited

Definition at line 136 of file vpBasicFeature.h.

◆ setFlags()

void vpBasicFeature::setFlags ( )
inherited

Set feature flags to true to prevent warning when re-computing the interaction matrix without having updated the feature.

Definition at line 140 of file vpBasicFeature.cpp.

◆ setMu()

void vpFeatureEllipse::setMu ( const double  mu20,
const double  mu11,
const double  mu02 
)

Definition at line 348 of file vpFeatureEllipse.cpp.

References vpBasicFeature::flags, and vpBasicFeature::s.

Member Data Documentation

◆ deallocate

vpBasicFeatureDeallocatorType vpBasicFeature::deallocate
protectedinherited

Definition at line 147 of file vpBasicFeature.h.

◆ dim_s

unsigned int vpBasicFeature::dim_s
protectedinherited

Dimension of the visual feature.

Definition at line 93 of file vpBasicFeature.h.

Referenced by vpGenericFeature::duplicate(), vpFeatureVanishingPoint::init(), init(), and vpFeatureLuminance::init().

◆ FEATURE_LINE

const unsigned int vpBasicFeature::FEATURE_LINE
staticinherited
Initial value:
= {
(unsigned int)(1 << 0), (unsigned int)(1 << 1), (unsigned int)(1 << 2), (unsigned int)(1 << 3),
(unsigned int)(1 << 4), (unsigned int)(1 << 5), (unsigned int)(1 << 6), (unsigned int)(1 << 7),
(unsigned int)(1 << 8), (unsigned int)(1 << 9), (unsigned int)(1 << 10), (unsigned int)(1 << 11),
(unsigned int)(1 << 12), (unsigned int)(1 << 13), (unsigned int)(1 << 14), (unsigned int)(1 << 15),
(unsigned int)(1 << 16), (unsigned int)(1 << 17), (unsigned int)(1 << 18), (unsigned int)(1 << 19),
(unsigned int)(1 << 20), (unsigned int)(1 << 21), (unsigned int)(1 << 22), (unsigned int)(1 << 23),
(unsigned int)(1 << 24), (unsigned int)(1 << 25), (unsigned int)(1 << 26), (unsigned int)(1 << 27),
(unsigned int)(1 << 28), (unsigned int)(1 << 29), (unsigned int)(1 << 30), (unsigned int)(1 << 31)}

Definition at line 79 of file vpBasicFeature.h.

Referenced by selectMu02(), selectMu11(), selectMu20(), vpFeatureVanishingPoint::selectY(), and selectY().

◆ flags

bool* vpBasicFeature::flags
protectedinherited

Ensure that all the parameters needed to compute the iteraction matrix are set.

Definition at line 97 of file vpBasicFeature.h.

Referenced by buildFrom(), vpFeatureVanishingPoint::buildFrom(), vpFeatureVanishingPoint::init(), init(), vpBasicFeature::resetFlags(), set_x(), set_xy(), set_y(), setABC(), and setMu().

◆ nbParameters

unsigned int vpBasicFeature::nbParameters
protectedinherited

Number of parameters needed to compute the interaction matrix.

Definition at line 99 of file vpBasicFeature.h.

Referenced by vpFeatureVanishingPoint::buildFrom(), buildFrom(), vpFeatureVanishingPoint::init(), init(), vpBasicFeature::resetFlags(), and setABC().

◆ s