#ifndef _H_ICOMPAREMODEL_H_ #define _H_ICOMPAREMODEL_H_ #include #include #include #include /*ÂÖì±Ä£°åÆ¥ÅäÀà½Ó¿Ú*/ using namespace cv; using namespace std; class ICompareModel { public: explicit ICompareModel() {}; virtual ~ICompareModel() {}; virtual double compare(Mat srcImage, Mat* pRImg = NULL, int levelNum = 1, bool isFilterSize = true, int flag = 0, double md_diameter = 0, double md_height = 0) = 0; virtual Mat getBaseImg() const = 0; virtual void setIsEnableCache(bool val) = 0; virtual double getDisThre() const = 0; virtual void setDisThre(double val) = 0; virtual void saveImages(string dirPath) = 0; virtual bool save2file(string filePath) = 0; virtual bool readFromFile(string filePath) = 0; virtual void train(const vector& vec) = 0; virtual int getRepeatNum() const = 0; virtual void setRepeatNum(int val) = 0; virtual string getName() const = 0; virtual void setName(string val) = 0; virtual double getDisStdDev() const = 0; virtual double getDisMean() const = 0; virtual double getDisMin() const = 0; virtual double getDisMax() const = 0; virtual double getInnerCircleNum() const = 0; virtual double getFalseSampleMinDis() const = 0; virtual double getMeanDiamter() const = 0; virtual int computeRepeatNum() = 0; virtual int computeRepeatNum(const Mat& img) = 0; virtual double filterTrainImage(const Mat &img) = 0; virtual void weightOptimization(const vector& falseSamples) = 0; virtual void calculateAllParams(const vector& imgVec) = 0; virtual void computeDisThre(const vector& imgVec, double* pMinDis = NULL, double md_diameter = 0, double md_height = 0) = 0; virtual cv::Mat getM8uMaskImg() const = 0; virtual void setM8uMaskImg(cv::Mat val) = 0; virtual cv::Mat getM32fMaskImg() const = 0; virtual void setM32fMaskImg(cv::Mat val) = 0; }; #endif