libface 0.2
|
00001 00033 #ifndef _LIBFACECORE_H_ 00034 #define _LIBFACECORE_H_ 00035 00036 #if defined (__APPLE__) 00037 #include <cv.h> 00038 #else 00039 #include <opencv/cv.h> 00040 #endif 00041 00042 #include "Face.h" 00043 00044 namespace libface 00045 { 00046 00051 class FACEAPI LibFaceRecognitionCore 00052 { 00053 public: 00054 00055 virtual ~LibFaceRecognitionCore() {}; 00056 00064 virtual std::map<std::string, std::string> getConfig() = 0; 00071 virtual int loadConfig(const std::map<std::string, std::string>& config) = 0; 00072 00073 virtual int loadConfig(const std::string& dir) = 0; 00074 00075 virtual int saveConfig(const std::string& dir) = 0; 00076 00084 virtual int update(std::vector<Face>& dataVector) = 0; 00085 00092 virtual std::pair<int, float> recognize(IplImage* test) = 0 ; 00093 00098 virtual int count() const = 0; 00099 }; 00100 00101 // ------------------------------------------------------------------------------------------- 00102 00103 class FACEAPI LibFaceDetectCore 00104 { 00105 public: 00106 00107 virtual ~LibFaceDetectCore() {}; 00108 00109 virtual std::vector<Face>* detectFaces(const IplImage* inputImage, const CvSize& originalSize = cvSize(0,0)) = 0; 00110 virtual std::vector<Face>* detectFaces(const std::string& filename) = 0; 00111 virtual int accuracy() const = 0; 00112 virtual void setAccuracy(int value) = 0; 00113 }; 00114 00115 } // namespace libface 00116 00117 #endif /* _LIBFACECORE_H_ */