|
|
|
|
|
#ifndef _H_ICOMPAREMODEL_H_
|
|
|
|
|
|
#define _H_ICOMPAREMODEL_H_
|
|
|
|
|
|
#include <opencv2/opencv.hpp>
|
|
|
|
|
|
#include <opencv2/opencv_modules.hpp>
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>*/
|
|
|
|
|
|
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<Mat>& 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<Mat>& falseSamples) = 0;
|
|
|
|
|
|
virtual void calculateAllParams(const vector<Mat>& imgVec) = 0;
|
|
|
|
|
|
virtual void computeDisThre(const vector<Mat>& 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
|
|
|
|
|
|
|