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