21 #ifndef _HAAR_FEATURE_H
22 #define _HAAR_FEATURE_H
41 HaarNode(
int _sign,
int _x,
int _y) : sign(_sign), x(_x), y(_y)
45 inline int operator()(
const unsigned int *pIntImage,
long stride)
const
47 return (
int)(pIntImage[x + y * stride]) * sign;
51 std::istream & operator >> (std::istream & in,
HaarNode & d);
52 std::ostream & operator << (std::ostream & out,
const HaarNode & s);
54 typedef int (* Evaluate_t)(
const unsigned int *pIntImage,
int stride,
const HaarNode *node);
57 extern const Evaluate_t ievaluate[];
78 enum { InvokeParam = 2 };
90 this->resize(src.size());
91 std::vector<HaarNode>::iterator nodes=this->begin();
93 for(std::vector<HaarNode>::const_iterator i=src.begin();i!=src.end();++i)
95 int x = (int)(i->x * scale + scale - 1);
96 int y = (int)(i->y * scale + scale - 1);
97 nodes[j].sign=i->sign;
105 inline const char *debug_name()
const {
return name; }
106 inline void debug_name(
const char *str) { name = str; }
114 for(std::vector<HaarNode>::iterator i=this->begin();i!=this->end();i++)
119 int response(
const unsigned int *pIntImage,
int stride)
const
121 for(std::vector<HaarNode> i=m_nodes.begin();i!=m_nodes.end();i++)
122 sum += node[i](pIntImage, stride);
125 inline int response(
const unsigned int *pIntImage,
int stride)
const
129 return ievaluate[
size()](pIntImage, stride, &(*this)[0]);
133 inline int operator() (
const unsigned int *pIntImage,
int stride)
const
143 for(std::vector<HaarNode>::iterator i = this->begin(); i!= this->end(); ++i)
144 i->x = (i->x * sx + sx - 1), i->y = (i->y * sy + sy - 1);
149 std::istream & operator >> (std::istream & in,
HaarFeature & s);
150 std::ostream & operator << (std::ostream & out,
const HaarFeature & s);
HaarFeature(const HaarFeature &src, int scale, long offset, long stride)
Definition: HaarFeature.h:85
void invert_polarity()
invert the sign of haar nodes (in order to simplify the decision stump)
Definition: HaarFeature.h:112
image/size TODO namespace
Definition: Types.h:39
CollapsedHaarFeature OptimizedType
the feature used during the application in fast app
Definition: HaarFeature.h:76
int DescriptorType
type of data returned by this feature extractor
Definition: HaarFeature.h:73
an optimized HaarFeature
Definition: CollapsedHaarFeature.h:50
void rescale(int sx, int sy)
Definition: HaarFeature.h:141
static std::string signature()
Definition: HaarFeature.h:109
int response(const unsigned int *pIntImage, int stride) const
Definition: HaarFeature.h:127
An haar Feature: a collection of weighted HaarNode.
Definition: HaarFeature.h:63
Definition: HaarFeature.h:34
unsigned int InputDataType
type of data requested by this Feature Extractor
Definition: HaarFeature.h:70