21 #ifndef _COLLAPSED_HAAR_FEATURE_H
22 #define _COLLAPSED_HAAR_FEATURE_H
24 #include "HaarFeature.h"
44 inline int operator()(
const unsigned int *pIntImage)
const {
45 return sign * (int) *((
const uint32_t *) ( (
const uint8_t *)(pIntImage)+
offset ) ) ;
51 std::vector<CollapsedHaarNode> m_nodes;
65 m_nodes.resize(src.size());
67 for(std::vector<HaarNode>::const_iterator i=src.begin(); i!=src.end(); ++i)
69 int x = (int)(i->x * scale + scale - 1);
70 int y = (int)(i->y * scale + scale - 1);
71 m_nodes[j].sign = i->sign;
72 m_nodes[j].offset = ( offset + x + y * stride ) *
sizeof(uint32_t);
79 m_nodes.resize(src.size());
81 for(std::vector<HaarNode>::const_iterator i=src.begin(); i!=src.end(); ++i)
83 m_nodes[j].sign = i->sign;
84 m_nodes[j].offset = ( offset + i->x + i->y * p.stride ) *
sizeof(uint32_t);
93 m_nodes.resize(src.size());
95 for(std::vector<HaarNode>::const_iterator i=src.begin(); i!=src.end(); ++i)
99 m_nodes[j].sign = i->sign;
100 m_nodes[j].offset = ( offset + x + y * stride ) *
sizeof(uint32_t);
112 for(std::vector<CollapsedHaarNode>::iterator i=m_nodes.begin(); i!=m_nodes.end(); i++)
116 inline int debug(
const unsigned int *pIntImage)
const
120 for(std::vector<CollapsedHaarNode>::const_iterator i=m_nodes.begin(); i!=m_nodes.end(); i++)
121 sum += (*i)(pIntImage);
127 inline int response(
const unsigned int *pIntImage)
const
130 for(std::vector<CollapsedHaarNode>::const_iterator i=m_nodes.begin(); i!=m_nodes.end(); i++)
131 sum += (*i)(pIntImage);
135 inline int operator() (
const unsigned int *pIntImage)
const
a precomputed HaarNode in order to boost evaluation performance
Definition: CollapsedHaarFeature.h:33
a descritor based on a integral image
CollapsedHaarFeature(const HaarFeature &src, int scale, long offset, long stride)
Definition: CollapsedHaarFeature.h:63
int sign
accumulator
Definition: CollapsedHaarFeature.h:35
an optimized HaarFeature
Definition: CollapsedHaarFeature.h:50
CollapsedHaarFeature(const HaarFeature &src, long offset, long stride)
Definition: CollapsedHaarFeature.h:91
additional typedef, for portability under win32
An haar Feature: a collection of weighted HaarNode.
Definition: HaarFeature.h:63
parameters required to access to integral image and to create features
Definition: IntegralImageData.h:31
void invert_polarity()
invert the sign of haar nodes (in order to simplify the decision stump)
Definition: CollapsedHaarFeature.h:110
int offset
offset
Definition: CollapsedHaarFeature.h:37
int response(const unsigned int *pIntImage) const
compute the response
Definition: CollapsedHaarFeature.h:127