OpenCV Machine Learning 之正态贝叶斯分类器源代码分析(Normal Bayes Classifier)

来源:互联网 发布:网络上粑粑什么意思 编辑:程序博客网 时间:2024/06/05 08:47

1.  CvNormalBayesClassifier的 类 定 义

在ml.hpp中有以下类定义:

[cpp] view plaincopyprint?
  1. class CV_EXPORTS_W CvNormalBayesClassifier : public CvStatModel  
  2. {  
  3. public:  
  4.     CV_WRAP CvNormalBayesClassifier();  
  5.     virtual ~CvNormalBayesClassifier();  
  6.   
  7.     CvNormalBayesClassifier( const CvMat* trainData, const CvMat* responses,  
  8.         const CvMat* varIdx=0, const CvMat* sampleIdx=0 );  
  9.   
  10.     virtual bool train( const CvMat* trainData, const CvMat* responses,  
  11.         const CvMat* varIdx = 0, const CvMat* sampleIdx=0, bool update=false );  
  12.   
  13.     virtual float predict( const CvMat* samples, CV_OUT CvMat* results=0 ) const;  
  14.     CV_WRAP virtual void clear();  
  15.   
  16.     CV_WRAP CvNormalBayesClassifier( const cv::Mat& trainData, const cv::Mat& responses,  
  17.                             const cv::Mat& varIdx=cv::Mat(), const cv::Mat& sampleIdx=cv::Mat() );  
  18.     CV_WRAP virtual bool train( const cv::Mat& trainData, const cv::Mat& responses,  
  19.                        const cv::Mat& varIdx = cv::Mat(), const cv::Mat& sampleIdx=cv::Mat(),  
  20.                        bool update=false );  
  21.     CV_WRAP virtual float predict( const cv::Mat& samples, CV_OUT cv::Mat* results=0 ) const;  
  22.   
  23.     virtual void write( CvFileStorage* storage, const char* name ) const;  
  24.     virtual void read( CvFileStorage* storage, CvFileNode* node );  
  25.   
  26. protected:  
  27.     int     var_count, var_all;  
  28.     CvMat*  var_idx;  
  29.     CvMat*  cls_labels;  
  30.     CvMat** count;  
  31.     CvMat** sum;  
  32.     CvMat** productsum;  
  33.     CvMat** avg;  
  34.     CvMat** inv_eigen_values;  
  35.     CvMat** cov_rotate_mats;  
  36.     CvMat*  c;  
  37. };  


2.类的实现文件


0 0