![]() |
Visual Servoing Platform version 3.7.0
|
#include <vpBasicFeature.h>
Public Types | |
| enum | vpBasicFeatureSelect { FEATURE_ALL = 0xffff } |
| enum | vpBasicFeatureDeallocatorType { user , vpServo } |
Public Member Functions | |
| vpBasicFeature () | |
| vpBasicFeature (const vpBasicFeature &f) | |
| virtual | ~vpBasicFeature () |
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 | |
| vpBasicFeatureDeallocatorType | deallocate |
| unsigned int | dimension_s () |
| virtual void | display (const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const =0 |
| virtual void | display (const vpCameraParameters &cam, const vpImage< vpRGBa > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const =0 |
| virtual void | init ()=0 |
| virtual vpColVector | error (const vpBasicFeature &s_star, unsigned int select=FEATURE_ALL) |
| vpColVector | get_s (unsigned int select=FEATURE_ALL) const |
| vpBasicFeatureDeallocatorType | getDeallocate () |
| unsigned int | getDimension (unsigned int select=FEATURE_ALL) const |
| virtual vpMatrix | interaction (unsigned int select=FEATURE_ALL)=0 |
| virtual double | operator[] (unsigned int i) const |
| vpBasicFeature & | operator= (const vpBasicFeature &f) |
| virtual void | print (unsigned int select=FEATURE_ALL) const =0 |
| virtual vpBasicFeature * | duplicate () const =0 |
| void | setDeallocate (vpBasicFeatureDeallocatorType d) |
| void | setFlags () |
| static unsigned int | selectAll () |
| void | resetFlags () |
class that defines what is a visual feature
Definition at line 76 of file vpBasicFeature.h.
Indicates who should deallocate the feature.
| Enumerator | |
|---|---|
| user | |
| vpServo | |
Definition at line 86 of file vpBasicFeature.h.
| Enumerator | |
|---|---|
| FEATURE_ALL | |
Definition at line 81 of file vpBasicFeature.h.
| vpBasicFeature::vpBasicFeature | ( | ) |
Default constructor.
Definition at line 59 of file vpBasicFeature.cpp.
References deallocate, dim_s, flags, nbParameters, s, user, and vpBasicFeature().
Referenced by duplicate(), vpFeatureMoment::duplicate(), error(), vpFeatureDepth::error(), vpFeatureEllipse::error(), vpFeatureLine::error(), vpFeatureLuminance::error(), vpFeatureLuminance::error(), vpFeatureLuminanceMapping::error(), vpFeatureLuminanceMapping::error(), vpFeatureMomentAlpha::error(), vpFeaturePoint3D::error(), vpFeaturePoint::error(), vpFeaturePointPolar::error(), vpFeatureSegment::error(), vpFeatureThetaU::error(), vpFeatureTranslation::error(), vpFeatureVanishingPoint::error(), vpGenericFeature::error(), init(), operator=(), vpBasicFeature(), vpBasicFeature(), vpFeatureLuminance::vpFeatureLuminance(), vpFeatureLuminanceMapping::vpFeatureLuminanceMapping(), and vpFeatureMoment::vpFeatureMoment().
| vpBasicFeature::vpBasicFeature | ( | const vpBasicFeature & | f | ) |
Copy constructor.
Definition at line 75 of file vpBasicFeature.cpp.
References deallocate, dim_s, flags, nbParameters, s, user, and vpBasicFeature().
|
virtual |
Destructor that free allocated memory.
Definition at line 64 of file vpBasicFeature.cpp.
References flags.
|
inline |
Return the dimension of the feature vector
.
Definition at line 108 of file vpBasicFeature.h.
References dim_s.
|
pure virtual |
Implemented in vpFeatureDepth, vpFeatureEllipse, vpFeatureLine, vpFeatureLuminance, vpFeatureLuminanceMapping, vpFeatureMoment, vpFeaturePoint3D, vpFeaturePoint, vpFeaturePointPolar, vpFeatureSegment, vpFeatureThetaU, vpFeatureTranslation, vpFeatureVanishingPoint, and vpGenericFeature.
References vpColor::green.
|
pure virtual |
Implemented in vpFeatureDepth, vpFeatureEllipse, vpFeatureLine, vpFeatureLuminance, vpFeatureLuminanceMapping, vpFeatureMoment, vpFeaturePoint3D, vpFeaturePoint, vpFeaturePointPolar, vpFeatureSegment, vpFeatureThetaU, vpFeatureTranslation, vpFeatureVanishingPoint, and vpGenericFeature.
References vpColor::green.
|
pure virtual |
Implemented in vpFeatureDepth, vpFeatureEllipse, vpFeatureLine, vpFeatureLuminance, vpFeatureLuminanceMapping, vpFeatureMoment, vpFeaturePoint3D, vpFeaturePoint, vpFeaturePointPolar, vpFeatureSegment, vpFeatureThetaU, vpFeatureTranslation, vpFeatureVanishingPoint, and vpGenericFeature.
References vpBasicFeature().
Referenced by vpServo::addFeature().
|
virtual |
Compute the error between two visual features from a subset of the possible features.
Reimplemented in vpFeatureDepth, vpFeatureEllipse, vpFeatureLine, vpFeatureLuminance, vpFeatureLuminanceMapping, vpFeatureMomentAlpha, vpFeaturePoint3D, vpFeaturePoint, vpFeaturePointPolar, vpFeatureSegment, vpFeatureThetaU, vpFeatureTranslation, vpFeatureVanishingPoint, and vpGenericFeature.
Definition at line 150 of file vpBasicFeature.cpp.
References dim_s, FEATURE_LINE, get_s(), s, and vpBasicFeature().
Referenced by vpServo::computeError(), and init().
| vpColVector vpBasicFeature::get_s | ( | unsigned int | select = FEATURE_ALL | ) | const |
Get the feature vector
.
Definition at line 113 of file vpBasicFeature.cpp.
References dim_s, FEATURE_LINE, and s.
Referenced by vpServo::computeError(), error(), vpFeatureDepth::error(), vpFeatureThetaU::error(), vpFeatureTranslation::error(), vpGenericFeature::error(), and init().
|
inline |
Definition at line 121 of file vpBasicFeature.h.
References deallocate.
| unsigned int vpBasicFeature::getDimension | ( | unsigned int | select = FEATURE_ALL | ) | const |
Get the feature vector dimension.
Definition at line 100 of file vpBasicFeature.cpp.
References dim_s, FEATURE_LINE, and s.
|
pure virtual |
Implemented in vpFeatureDepth, vpFeatureEllipse, vpFeatureLine, vpFeatureLuminance, vpFeatureLuminanceMapping, vpFeatureMoment, vpFeaturePoint3D, vpFeaturePoint, vpFeaturePointPolar, vpFeatureSegment, vpFeatureThetaU, vpFeatureTranslation, vpFeatureVanishingPoint, and vpGenericFeature.
References error(), FEATURE_ALL, get_s(), and vpBasicFeature().
Referenced by vpServo::addFeature().
|
pure virtual |
Compute the interaction matrix from a subset of the possible features.
Implemented in vpFeatureDepth, vpFeatureEllipse, vpFeatureLine, vpFeatureLuminance, vpFeatureLuminanceMapping, vpFeatureMoment, vpFeaturePoint3D, vpFeaturePoint, vpFeaturePointPolar, vpFeatureSegment, vpFeatureThetaU, vpFeatureTranslation, vpFeatureVanishingPoint, and vpGenericFeature.
References FEATURE_ALL.
Referenced by vpFeatureMoment::operator<<.
| vpBasicFeature & vpBasicFeature::operator= | ( | const vpBasicFeature & | f | ) |
Copy operator.
Definition at line 84 of file vpBasicFeature.cpp.
References deallocate, dim_s, flags, nbParameters, s, and vpBasicFeature().
|
inlinevirtual |
Return element i in the state vector (usage : x = s[i] ).
Definition at line 128 of file vpBasicFeature.h.
References s.
|
pure virtual |
Print the name of the feature.
Implemented in vpFeatureDepth, vpFeatureEllipse, vpFeatureLine, vpFeatureLuminance, vpFeatureLuminanceMapping, vpFeatureMoment, vpFeaturePoint3D, vpFeaturePoint, vpFeaturePointPolar, vpFeatureSegment, vpFeatureThetaU, vpFeatureTranslation, vpFeatureVanishingPoint, and vpGenericFeature.
References FEATURE_ALL.
|
protected |
Definition at line 130 of file vpBasicFeature.cpp.
References flags, and nbParameters.
Referenced by vpFeatureDepth::interaction(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeaturePoint3D::interaction(), vpFeaturePoint::interaction(), vpFeaturePointPolar::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), and vpFeatureVanishingPoint::interaction().
|
inlinestatic |
Select all the features.
Definition at line 140 of file vpBasicFeature.h.
References FEATURE_ALL.
|
inline |
Definition at line 135 of file vpBasicFeature.h.
References deallocate.
Referenced by vpServo::addFeature().
| void vpBasicFeature::setFlags | ( | ) |
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.
References flags, and nbParameters.
|
protected |
Definition at line 146 of file vpBasicFeature.h.
Referenced by getDeallocate(), vpFeatureDepth::interaction(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeaturePoint3D::interaction(), vpFeaturePoint::interaction(), vpFeaturePointPolar::interaction(), vpFeatureSegment::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), vpFeatureVanishingPoint::interaction(), operator=(), setDeallocate(), vpBasicFeature(), and vpBasicFeature().
|
protected |
Dimension of the visual feature.
Definition at line 92 of file vpBasicFeature.h.
Referenced by dimension_s(), vpFeatureMoment::duplicate(), vpGenericFeature::duplicate(), error(), vpFeatureLuminance::error(), vpFeatureLuminanceMapping::error(), vpFeatureLuminanceMapping::error(), vpGenericFeature::error(), vpGenericFeature::error(), get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), getDimension(), vpFeatureMoment::getDimension(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpFeatureLuminance::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureMoment::interaction(), vpGenericFeature::interaction(), operator=(), vpFeatureLuminance::operator=(), vpFeatureLuminanceMapping::operator=(), vpFeatureMoment::print(), vpGenericFeature::print(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::setError(), vpGenericFeature::setInteractionMatrix(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), vpFeatureLuminance::vpFeatureLuminance(), and vpGenericFeature::vpGenericFeature().
|
static |
Definition at line 45 of file vpBasicFeature.h.
Referenced by error(), vpGenericFeature::error(), vpGenericFeature::error(), get_s(), getDimension(), vpFeatureMoment::getDimension(), vpFeatureMoment::interaction(), vpGenericFeature::interaction(), vpFeatureMoment::print(), vpGenericFeature::print(), vpFeatureEllipse::select_n02(), vpFeatureEllipse::select_n11(), vpFeatureEllipse::select_n20(), vpFeatureSegment::selectAlpha(), vpFeatureVanishingPoint::selectAlpha(), vpFeatureVanishingPoint::selectAtanOneOverRho(), vpFeatureSegment::selectL(), vpFeatureEllipse::selectMu02(), vpFeatureEllipse::selectMu11(), vpFeatureEllipse::selectMu20(), vpFeatureVanishingPoint::selectOneOverRho(), vpFeatureLine::selectRho(), vpFeaturePointPolar::selectRho(), vpFeatureLine::selectTheta(), vpFeaturePointPolar::selectTheta(), vpFeatureThetaU::selectTUx(), vpFeatureThetaU::selectTUy(), vpFeatureThetaU::selectTUz(), vpFeatureTranslation::selectTx(), vpFeatureTranslation::selectTy(), vpFeatureTranslation::selectTz(), vpFeatureEllipse::selectX(), vpFeaturePoint3D::selectX(), vpFeaturePoint::selectX(), vpFeatureVanishingPoint::selectX(), vpFeatureSegment::selectXc(), vpFeatureEllipse::selectY(), vpFeaturePoint3D::selectY(), vpFeaturePoint::selectY(), vpFeatureVanishingPoint::selectY(), vpFeatureSegment::selectYc(), and vpFeaturePoint3D::selectZ().
|
protected |
Ensure that all the parameters needed to compute the interaction matrix are set.
Definition at line 96 of file vpBasicFeature.h.
Referenced by vpFeatureDepth::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLine::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint::buildFrom(), vpFeaturePointPolar::buildFrom(), vpFeatureThetaU::buildFrom(), vpFeatureTranslation::buildFrom(), vpFeatureMoment::duplicate(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpFeatureDepth::interaction(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeaturePoint3D::interaction(), vpFeaturePoint::interaction(), vpFeaturePointPolar::interaction(), vpFeatureSegment::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), vpFeatureVanishingPoint::interaction(), operator=(), resetFlags(), vpFeaturePointPolar::set_rho(), vpFeaturePointPolar::set_rhoThetaZ(), vpFeaturePointPolar::set_theta(), vpFeatureThetaU::set_TUx(), vpFeatureThetaU::set_TUy(), vpFeatureThetaU::set_TUz(), vpFeaturePoint3D::set_X(), vpFeatureDepth::set_x(), vpFeatureEllipse::set_x(), vpFeaturePoint::set_x(), vpFeatureVanishingPoint::set_x(), vpFeatureEllipse::set_xy(), vpFeaturePoint3D::set_XYZ(), vpFeaturePoint::set_xyZ(), vpFeatureDepth::set_xyZLogZoverZstar(), vpFeaturePoint3D::set_Y(), vpFeatureDepth::set_y(), vpFeatureEllipse::set_y(), vpFeaturePoint::set_y(), vpFeatureVanishingPoint::set_y(), vpFeatureDepth::set_Z(), vpFeatureLuminance::set_Z(), vpFeaturePoint3D::set_Z(), vpFeaturePoint::set_Z(), vpFeaturePointPolar::set_Z(), vpFeatureEllipse::setABC(), vpFeatureLine::setABCD(), vpFeatureSegment::setAlpha(), vpFeatureVanishingPoint::setAlpha(), vpFeatureVanishingPoint::setAtanOneOverRho(), setFlags(), vpFeatureSegment::setL(), vpFeatureEllipse::setMoments(), vpFeatureVanishingPoint::setOneOverRho(), vpFeatureLine::setRhoTheta(), vpFeatureSegment::setXc(), vpFeatureSegment::setYc(), vpFeatureSegment::setZ1(), vpFeatureSegment::setZ2(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), vpFeatureLuminance::vpFeatureLuminance(), and ~vpBasicFeature().
|
protected |
Number of parameters needed to compute the interaction matrix.
Definition at line 98 of file vpBasicFeature.h.
Referenced by vpFeatureDepth::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureLine::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint::buildFrom(), vpFeaturePointPolar::buildFrom(), vpFeatureThetaU::buildFrom(), vpFeatureMoment::duplicate(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpFeatureDepth::interaction(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeaturePoint3D::interaction(), vpFeaturePoint::interaction(), vpFeaturePointPolar::interaction(), vpFeatureSegment::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), vpFeatureVanishingPoint::interaction(), operator=(), resetFlags(), vpFeaturePointPolar::set_rhoThetaZ(), vpFeaturePoint3D::set_XYZ(), vpFeaturePoint::set_xyZ(), vpFeatureDepth::set_xyZLogZoverZstar(), vpFeatureEllipse::setABC(), vpFeatureLine::setABCD(), setFlags(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), and vpFeatureLuminance::vpFeatureLuminance().
|
protected |
State of the visual feature.
Definition at line 90 of file vpBasicFeature.h.
Referenced by vpFeatureDepth::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLuminance::buildFrom(), vpFeatureLuminanceMapping::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint::buildFrom(), vpFeaturePointPolar::buildFrom(), vpFeatureThetaU::buildFrom(), vpFeatureTranslation::buildFrom(), vpFeatureEllipse::display(), vpFeatureEllipse::display(), vpFeatureMoment::duplicate(), error(), vpFeatureDepth::error(), vpFeatureEllipse::error(), vpFeatureLine::error(), vpFeatureLuminance::error(), vpFeatureLuminanceMapping::error(), vpFeatureMomentAlpha::error(), vpFeaturePoint3D::error(), vpFeaturePoint::error(), vpFeaturePointPolar::error(), vpFeatureThetaU::error(), vpFeatureTranslation::error(), vpFeatureVanishingPoint::error(), vpGenericFeature::error(), vpGenericFeature::error(), vpFeatureDepth::get_LogZoverZstar(), vpFeatureEllipse::get_n02(), vpFeatureEllipse::get_n11(), vpFeatureEllipse::get_n20(), vpFeaturePointPolar::get_rho(), get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpFeaturePointPolar::get_theta(), vpFeatureThetaU::get_TUx(), vpFeatureThetaU::get_TUy(), vpFeatureThetaU::get_TUz(), vpFeatureTranslation::get_Tx(), vpFeatureTranslation::get_Ty(), vpFeatureTranslation::get_Tz(), vpFeaturePoint3D::get_X(), vpFeatureEllipse::get_x(), vpFeaturePoint::get_x(), vpFeatureVanishingPoint::get_x(), vpFeaturePoint3D::get_Y(), vpFeatureEllipse::get_y(), vpFeaturePoint::get_y(), vpFeatureVanishingPoint::get_y(), vpFeaturePoint3D::get_Z(), vpFeatureSegment::getAlpha(), vpFeatureVanishingPoint::getAlpha(), vpFeatureVanishingPoint::getAtanOneOverRho(), getDimension(), vpFeatureSegment::getL(), vpFeatureEllipse::getMu02(), vpFeatureEllipse::getMu11(), vpFeatureEllipse::getMu20(), vpFeatureVanishingPoint::getOneOverRho(), vpFeatureLine::getRho(), vpFeatureLine::getTheta(), vpFeatureSegment::getXc(), vpFeatureSegment::getYc(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpGenericFeature::init(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), operator=(), vpFeatureLuminance::operator=(), vpFeatureLuminanceMapping::operator=(), operator[](), vpFeatureEllipse::print(), vpFeatureLine::print(), vpFeatureLuminanceMapping::print(), vpFeatureMoment::print(), vpFeatureSegment::print(), vpFeatureThetaU::print(), vpFeatureTranslation::print(), vpGenericFeature::print(), vpFeatureDepth::set_LogZoverZstar(), vpFeaturePointPolar::set_rho(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpFeaturePointPolar::set_theta(), vpFeatureThetaU::set_TUx(), vpFeatureThetaU::set_TUy(), vpFeatureThetaU::set_TUz(), vpFeatureTranslation::set_Tx(), vpFeatureTranslation::set_Ty(), vpFeatureTranslation::set_Tz(), vpFeaturePoint3D::set_X(), vpFeatureEllipse::set_x(), vpFeaturePoint::set_x(), vpFeatureVanishingPoint::set_x(), vpFeatureEllipse::set_xy(), vpFeaturePoint3D::set_Y(), vpFeatureEllipse::set_y(), vpFeaturePoint::set_y(), vpFeatureVanishingPoint::set_y(), vpFeaturePoint3D::set_Z(), vpFeatureSegment::setAlpha(), vpFeatureVanishingPoint::setAlpha(), vpFeatureVanishingPoint::setAtanOneOverRho(), vpFeatureSegment::setL(), vpFeatureEllipse::setMoments(), vpFeatureVanishingPoint::setOneOverRho(), vpFeatureLine::setRhoTheta(), vpFeatureSegment::setXc(), vpFeatureSegment::setYc(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), and vpGenericFeature::vpGenericFeature().