43 #ifndef __FEATUREMOMENT_H__
44 #define __FEATUREMOMENT_H__
46 #include <visp3/core/vpConfig.h>
47 #include <visp3/visual_features/vpBasicFeature.h>
48 #include <visp3/core/vpException.h>
181 featureMomentsDataBase(featureMoments),
182 interaction_matrices(nbmatrices),
190 virtual void compute_interaction (
void);
197 int getDimension (
unsigned int select=FEATURE_ALL)
const;
206 virtual const char* momentName()
const = 0;
210 virtual const char* name()
const = 0;
211 void print (
const unsigned int select=FEATURE_ALL)
const ;
212 virtual void printDependencies(std::ostream& os)
const;
214 void update (
double A,
double B,
double C);
217 friend VISP_EXPORT std::ostream& operator<<(std::ostream & os,
const vpFeatureMoment& featM);
238 :
vpFeatureMoment(data_base,A_,B_,C_,featureMoments){this->moment = p_moment;}
246 virtual const char*
name()
const {
return NULL;}
Implementation of a matrix and operations on matrices.
unsigned int getDimension(const unsigned int select=FEATURE_ALL) const
Get the feature vector dimension.
virtual void print(const unsigned int select=FEATURE_ALL) const =0
Print the name of the feature.
Class to define colors available for display functionnalities.
const char * momentName() const
Class for generic objects.
std::vector< vpMatrix > interaction_matrices
static const vpColor green
This class defines a generic feature used for moment feature duplication.
class that defines what is a visual feature
This class allows to register all vpMoments so they can access each other according to their dependen...
This class defines shared methods/attributes for 2D moments.
This class defines shared system methods/attributes for 2D moment features but no functional code...
virtual vpMatrix interaction(const unsigned int select=FEATURE_ALL)=0
Compute the interaction matrix from a subset of the possible features.
Generic class defining intrinsic camera parameters.
vpMomentDatabase & moments
vpFeatureMomentDatabase * featureMomentsDataBase
vpMomentGenericFeature(vpMomentDatabase &data_base, double A_, double B_, double C_, vpFeatureMomentDatabase *featureMoments, const vpMoment *p_moment)
const vpMoment & getMoment() const
vpFeatureMoment(vpMomentDatabase &data_base, double A_=0.0, double B_=0.0, double C_=0.0, vpFeatureMomentDatabase *featureMoments=NULL, unsigned int nbmatrices=1)
virtual vpBasicFeature * duplicate() const =0
virtual void display(const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const =0
virtual const char * name() const
This class allows to register all feature moments (implemented in vpFeatureMoment... classes) so they can access each other according to their dependencies.