21 #ifndef _MULTICLASS_CLASSIFIER_H
22 #define _MULTICLASS_CLASSIFIER_H
34 template<
class FeatureExtractor,
class MultiClassPolicy>
50 const char *
str()
const {
51 return FeatureExtractor::name;
56 return MultiClassPolicy::signature() +
"-" + FeatureExtractor::signature();
64 template<
class D1,
class D2>
65 inline void classify(
int *response,
const D1 d1,
const D2 d2)
const
67 evaluate_feature(response, FeatureExtractor::response(d1, d2) );
73 inline void classify(
int *response,
const D1 d1)
const
75 evaluate_feature(response, FeatureExtractor::response(d1) );
79 template<
class D1,
class D2>
80 inline void operator()(
int *response,
const D1 d1,
const D2 d2)
const
82 evaluate_feature(response, FeatureExtractor::response(d1) );
89 FeatureExtractor::rescale(sx,sy);
92 template<
class FeatureType>
93 bool export_features(std::vector<FeatureType> & out)
const
95 out.push_back( static_cast<const FeatureType&>(*
this) );
100 template<
class T,
class MultiClassPolicy>
103 in >>
static_cast<MultiClassPolicy &
>(s) >> static_cast<T&>(s);
107 template<
class T,
class MultiClassPolicy>
108 std::ostream & operator << (std::ostream & out, const MultiClassClassifier<T, MultiClassPolicy> & s)
110 out << static_cast<const MultiClassPolicy &>(s) <<
' ' << static_cast<const T&>(s);
Types involved in boosting.
A Multi-Class Classifier based on a Feature Extractor policy.
Definition: MultiClassClassifier.h:35
void rescale(float sx, float sy)
this function permits to change the geometry of haar feature: integral value should be used ...
Definition: MultiClassClassifier.h:86
ClassifierType
Definition: Types.h:31
const char * str() const
return the "feature" name (for debug purpose)
Definition: MultiClassClassifier.h:50
void classify(int *response, const D1 d1) const
Definition: MultiClassClassifier.h:73
void operator()(int *response, const D1 d1, const D2 d2) const
classify wrapper.
Definition: MultiClassClassifier.h:80
a FeatureExtractor return a scalar number without relationship with classification ...
Definition: Types.h:35
void classify(int *response, const D1 d1, const D2 d2) const
Definition: MultiClassClassifier.h:65
static const ClassifierType Type
DecisionStump is a DiscreteClassifier.
Definition: MultiClassClassifier.h:42
static std::string signature()
signature name is the name of provider (for simplicity)
Definition: MultiClassClassifier.h:55
a dicrete classifier returns {-1,+1}
Definition: Types.h:32