38 #include <visp3/core/vpConfig.h>
40 #ifdef VISP_MOMENTS_COMBINE_MATRICES
45 #include <visp3/core/vpMomentObject.h>
46 #include <visp3/visual_features/vpFeatureMomentGravityCenter.h>
47 #include <visp3/visual_features/vpFeatureMomentBasic.h>
48 #include <visp3/visual_features/vpFeatureMomentDatabase.h>
60 bool found_featuremoment_basic;
82 #include <visp3/core/vpMomentObject.h>
83 #include <visp3/core/vpMomentDatabase.h>
84 #include <visp3/core/vpMomentGravityCenter.h>
85 #include <visp3/core/vpMomentCentered.h>
86 #include <visp3/visual_features/vpFeatureMomentGravityCenter.h>
87 #include <visp3/core/vpMomentObject.h>
100 bool found_moment_centered;
101 bool found_moment_gravity;
121 double n11 = momentCentered.
get(1,1)/momentObject.
get(0,0);
122 double n20 = momentCentered.
get(2,0)/momentObject.
get(0,0);
123 double n02 = momentCentered.
get(0,2)/momentObject.
get(0,0);
124 double Xg = momentGravity.
getXg();
125 double Yg = momentGravity.
getYg();
126 double Zg_inv =
A*Xg+
B*Yg+
C;
127 double Xgvz = Xg*Zg_inv+
A*epsilon*n20+
B*epsilon*n11;
128 double Ygvz = Yg*Zg_inv+
A*epsilon*n11+
B*epsilon*n02;
129 double Xgwx = Xg*Yg+epsilon*n11;
131 double Xgwy = -(1+Xg*Xg+epsilon*n20);
132 double Ygwx = 1+Yg*Yg+epsilon*n02;
Functionality computation for basic moment feature. Computes the interaction matrix associated with v...
error that can be emited by ViSP classes.
Class for generic objects.
const std::vector< double > & get() const
std::vector< vpMatrix > interaction_matrices
vpMatrix interaction(unsigned int select_one, unsigned int select_two) const
const vpMoment & get(const char *type, bool &found) const
vpMomentDatabase & moments
This class defines the double-indexed centered moment descriptor .
double get(unsigned int i, unsigned int j) const
Class describing 2D gravity center moment.
vpObjectType getType() const
vpFeatureMomentDatabase * featureMomentsDataBase
const vpMomentObject & getObject() const
void compute_interaction()
vpFeatureMoment & get(const char *type, bool &found)