22 #ifndef _IMAGE_CLASSIFIER_WRAPPER_H
23 #define _IMAGE_CLASSIFIER_WRAPPER_H
33 template<
class _Instance,
class _Preprocessor>
37 typename _Preprocessor::ReturnType m_clsf_data;
46 static std::string signature() {
47 return _Instance::signature();
52 return _Instance::signature();
56 virtual void setImage(
const unsigned char *ptr,
long stride,
unsigned int width,
unsigned int height) {
58 _Preprocessor::Process(m_clsf_data, ptr, width, height, stride);
63 m_clsf_data.first.release();
68 return _Instance::operator()(getData1(m_clsf_data.first,m_clsf_data.second,x0,y0),getData2(m_clsf_data.first,m_clsf_data.second));
72 virtual void Process (
double *out,
int x0,
int y0,
int n,
int step)
const {
73 for(
int i=0; i<n; i+=step)
74 *out++=_Instance::operator()(getData1(m_clsf_data.first,m_clsf_data.second,x0+i,y0),getData2(m_clsf_data.first,m_clsf_data.second));
ImageClassifierWrapper(std::istream &in)
[imageclassifier w,h] [preprocessor if any] [classifier data]
Definition: ImageClassifierWrapper.h:41
Types involved in boosting.
"Binary" Classifier, virtual class
Definition: ImageClassifier.h:37
virtual void Release()
release m_clsf_data
Definition: ImageClassifierWrapper.h:62
virtual float operator()(int x0, int y0) const
process single point of m_clsf_data
Definition: ImageClassifierWrapper.h:67
std::string getSignature() const
return the classifier signature
Definition: ImageClassifierWrapper.h:51
virtual void Process(double *out, int x0, int y0, int n, int step) const
process a row of m_clsf_data, with a fixed step
Definition: ImageClassifierWrapper.h:72
bridge for ImageClassifier
Definition: ImageClassifierWrapper.h:35
virtual classes to work on classifier. ImageClassifier is the simplest one, computing the response im...
virtual void setImage(const unsigned char *ptr, long stride, unsigned int width, unsigned int height)
initialize m_clsf_data
Definition: ImageClassifierWrapper.h:56