#pragma once

#ifndef _WHOLE_SVM_FACE_CLASSIFIER_
#define _WHOLE_SVM_FACE_CLASSIFIER_

#include <FaceClassifier/SVMFaceClassifier.h>

namespace face {

class FACE_API WholeSVMFaceClassifier : public SVMFaceClassifier
{
public:
	WholeSVMFaceClassifier();
	WholeSVMFaceClassifier(const std::string name, const std::map<float, std::string> classLabel, const int width, const int height);
	WholeSVMFaceClassifier(const std::string name, const std::map<float, std::string> classLabel, const int width, const int height, const std::string modelFile);
	~WholeSVMFaceClassifier();
	virtual std::string ToString();

protected:
	virtual IplImage *Preprocess(const IplImage * const img);
	virtual void CreateFeatureVector(const IplImage * const img, CvMat * const fv);

	void init();
};

}

#endif
