Visual Servoing Platform  version 3.2.0
vpFeatureLuminance Class Reference

#include <vpFeatureLuminance.h>

+ Inheritance diagram for vpFeatureLuminance:

Public Types

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

Public Member Functions

 vpFeatureLuminance ()
 
 vpFeatureLuminance (const vpFeatureLuminance &f)
 
virtual ~vpFeatureLuminance ()
 
void buildFrom (vpImage< unsigned char > &I)
 
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
 
vpFeatureLuminanceduplicate () const
 
vpColVector error (const vpBasicFeature &s_star, const unsigned int select=FEATURE_ALL)
 
void error (const vpBasicFeature &s_star, vpColVector &e)
 
vpColVector error (const unsigned int select=FEATURE_ALL)
 
double get_Z () const
 
void init ()
 
void init (unsigned int _nbr, unsigned int _nbc, double _Z)
 
vpMatrix interaction (const unsigned int select=FEATURE_ALL)
 
void interaction (vpMatrix &L)
 
vpFeatureLuminanceoperator= (const vpFeatureLuminance &f)
 
void print (const unsigned int select=FEATURE_ALL) const
 
void setCameraParameters (vpCameraParameters &_cam)
 
void set_Z (const double Z)
 

Public Attributes

vpCameraParameters cam
 

Static Public Attributes

static const unsigned int FEATURE_LINE [32]
 

Protected Attributes

double Z
 
unsigned int nbr
 
unsigned int nbc
 
unsigned int bord
 
vpLuminance * pixInfo
 
int firstTimeIn
 
vpColVector s
 
unsigned int dim_s
 
bool * flags
 
unsigned int nbParameters
 

Inherited functionalities from vpBasicFeature

vpBasicFeatureDeallocatorType deallocate
 
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 ()
 
void resetFlags ()
 

Detailed Description

Class that defines the image luminance visual feature.

For more details see [Collewet08c].

Examples
photometricVisualServoing.cpp.

Definition at line 78 of file vpFeatureLuminance.h.

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

◆ vpFeatureLuminance() [1/2]

vpFeatureLuminance::vpFeatureLuminance ( )

Default constructor that build a visual feature.

Definition at line 100 of file vpFeatureLuminance.cpp.

◆ vpFeatureLuminance() [2/2]

vpFeatureLuminance::vpFeatureLuminance ( const vpFeatureLuminance f)

Copy constructor.

Definition at line 112 of file vpFeatureLuminance.cpp.

◆ ~vpFeatureLuminance()

vpFeatureLuminance::~vpFeatureLuminance ( )
virtual

Destructor.

Destructor that free allocated memory.

Definition at line 140 of file vpFeatureLuminance.cpp.

Member Function Documentation

◆ buildFrom()

void vpFeatureLuminance::buildFrom ( vpImage< unsigned char > &  I)

Build a luminance feature directly from the image

Examples
photometricVisualServoing.cpp.

Definition at line 173 of file vpFeatureLuminance.cpp.

◆ 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 vpFeatureLuminance::display ( const vpCameraParameters cam,
const vpImage< unsigned char > &  I,
const vpColor color = vpColor::green,
unsigned int  thickness = 1 
) const
virtual

Not implemented.

Implements vpBasicFeature.

Definition at line 315 of file vpFeatureLuminance.cpp.

◆ display() [2/2]

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

Not implemented.

Implements vpBasicFeature.

Definition at line 333 of file vpFeatureLuminance.cpp.

◆ duplicate()

vpFeatureLuminance * vpFeatureLuminance::duplicate ( ) const
virtual

Create an object with the same type.

s_star = s.duplicate(); // s_star is now a vpFeatureLuminance

Implements vpBasicFeature.

Definition at line 356 of file vpFeatureLuminance.cpp.

◆ error() [1/3]

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

Compute the error between a visual features and zero.

◆ error() [2/3]

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

Compute the error $ (I-I^*)$ between the current and the desired

Parameters
s_star: Desired visual feature.
select: Not used.

Reimplemented from vpBasicFeature.

Examples
photometricVisualServoing.cpp.

Definition at line 283 of file vpFeatureLuminance.cpp.

◆ error() [3/3]

void vpFeatureLuminance::error ( const vpBasicFeature s_star,
vpColVector e 
)

Compute the error $ (I-I^*)$ between the current and the desired

Parameters
s_star: Desired visual feature.
e: Error between the current and the desired features.

Definition at line 267 of file vpFeatureLuminance.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_Z()

double vpFeatureLuminance::get_Z ( ) const

Get the value of $ Z $ which represents the depth in the 3D camera frame.

Returns
The value of $ Z $.

Definition at line 164 of file vpFeatureLuminance.cpp.

◆ 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.

◆ init() [1/2]

void vpFeatureLuminance::init ( void  )
virtual

Initialize the memory space requested for vpFeatureLuminance visual feature.

Implements vpBasicFeature.

Examples
photometricVisualServoing.cpp.

Definition at line 58 of file vpFeatureLuminance.cpp.

Referenced by init().

◆ init() [2/2]

void vpFeatureLuminance::init ( unsigned int  _nbr,
unsigned int  _nbc,
double  _Z 
)

◆ interaction() [1/2]

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

Compute and return the interaction matrix $ L_I $. The computation is made thanks to the values of the luminance features $ I $

Implements vpBasicFeature.

Examples
photometricVisualServoing.cpp.

Definition at line 252 of file vpFeatureLuminance.cpp.

◆ interaction() [2/2]

void vpFeatureLuminance::interaction ( vpMatrix L)

Compute and return the interaction matrix $ L_I $. The computation is made thanks to the values of the luminance features $ I $

Definition at line 225 of file vpFeatureLuminance.cpp.

◆ operator=()

vpFeatureLuminance & vpFeatureLuminance::operator= ( const vpFeatureLuminance f)

Copy operator.

Definition at line 121 of file vpFeatureLuminance.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 vpFeatureLuminance::print ( const unsigned int  select = FEATURE_ALL) const
virtual

Not implemented.

Implements vpBasicFeature.

Definition at line 298 of file vpFeatureLuminance.cpp.

◆ 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.

◆ set_Z()

void vpFeatureLuminance::set_Z ( const double  Z_)

Set the value of $ Z $ which represents the depth in the 3D camera frame.

Parameters
Z_: $ Z $ value to set.

Definition at line 152 of file vpFeatureLuminance.cpp.

◆ setCameraParameters()

void vpFeatureLuminance::setCameraParameters ( vpCameraParameters _cam)
Examples
photometricVisualServoing.cpp.

Definition at line 166 of file vpFeatureLuminance.cpp.

References cam.

◆ 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.

Member Data Documentation

◆ bord

unsigned int vpFeatureLuminance::bord
protected

Border size.

Definition at line 90 of file vpFeatureLuminance.h.

Referenced by init().

◆ cam

vpCameraParameters vpFeatureLuminance::cam

Definition at line 131 of file vpFeatureLuminance.h.

Referenced by setCameraParameters().

◆ 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(), vpFeatureEllipse::init(), and 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 vpFeatureEllipse::selectMu02(), vpFeatureEllipse::selectMu11(), vpFeatureEllipse::selectMu20(), vpFeatureVanishingPoint::selectY(), and vpFeatureEllipse::selectY().

◆ firstTimeIn

int vpFeatureLuminance::firstTimeIn
protected

Definition at line 94 of file vpFeatureLuminance.h.

◆ flags

bool* vpBasicFeature::flags
protectedinherited

◆ nbc

unsigned int vpFeatureLuminance::nbc
protected

Number of column.

Definition at line 88 of file vpFeatureLuminance.h.

Referenced by init().

◆ nbParameters

unsigned int vpBasicFeature::nbParameters
protectedinherited

◆ nbr

unsigned int vpFeatureLuminance::nbr
protected

Number of rows.

Definition at line 86 of file vpFeatureLuminance.h.

Referenced by init().

◆ pixInfo

vpLuminance* vpFeatureLuminance::pixInfo
protected

Store the image (as a vector with intensity and gradient I, Ix, Iy)

Definition at line 93 of file vpFeatureLuminance.h.

Referenced by init().

◆ s

◆ Z

double vpFeatureLuminance::Z
protected

FeaturePoint depth (required to compute the interaction matrix) default Z = 1m

Definition at line 83 of file vpFeatureLuminance.h.

Referenced by init().

vpBasicFeature::s
vpColVector s
State of the visual feature.
Definition: vpBasicFeature.h:91
vpFeatureLuminance
Class that defines the image luminance visual feature.
Definition: vpFeatureLuminance.h:78
vpBasicFeature
class that defines what is a visual feature
Definition: vpBasicFeature.h:76