aihot  2017-04-26 12:19:58  OpenCV |   查看评论   
};  

 

MOG_BGS.cpp

  1. #include "MOG_BGS.h"  
  2.   
  3. MOG_BGS::MOG_BGS(void)  
  4. {  
  5.   
  6. }  
  7.   
  8. MOG_BGS::~MOG_BGS(void)  
  9. {  
  10.   
  11. }  
  12.   
  13. // 全部初始化为0  
  14. void MOG_BGS::init(const Mat _image)  
  15. {  
  16.     /****initialization the three parameters ****/  
  17.      for(int i = 0; i < GMM_MAX_COMPONT; i++)  
  18.      {  
  19.          m_weight[i] = Mat::zeros(_image.size(), CV_32FC1);  
  20.          m_mean[i] = Mat::zeros(_image.size(), CV_8UC1);  
  21.          m_sigma[i] = Mat::zeros(_image.size(), CV_32FC1);  
  22.      }  
  23.      m_mask = Mat::zeros(_image.size(),CV_8UC1);  
  24.      m_fit_num = Mat::ones(_image.size(),CV_8UC1);  
  25. }  
  26.   
  27. //gmm第一帧初始化函数实现  
  28. //捕获到第一帧时对高斯分布进行初始化.主要包括对每个高斯分布的权值、期望和方差赋初值.  
  29. //其中第一个高斯分布的权值为1,期望为第一个像素数据.其余高斯分布权值为0,期望为0.  
  30. //每个高斯分布都被赋予适当的相等的初始方差 15  
  31. void MOG_BGS::processFirstFrame(const Mat _image)  
  32. {  
  33.     for(int i = 0; i < GMM_MAX_COMPONT; i++)  
  34.     {  
  35.         if (i == 0)  
  36.         {  
  37.             m_weight[i].setTo(1.0);  
  38.             _image.copyTo(m_mean[i]);  
  39.             m_sigma[i].setTo(15.0);  
  40.         }  
  41.         else  
  42.         {  
  43.             m_weight[i].setTo(0.0);  
  44.             m_mean[i].setTo(0);  
  45.             m_sigma[i].setTo(15.0);  
  46.         }  
  47.     }  
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自运动检测(前景检测)之(二)混合高斯模型GMM

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]