aihot  2017-04-26 12:19:58  OpenCV |   查看评论   
             /*********************** Sort Gaussian model by 'weight / sigma' End ****************************/  
  •    
  •   
  •              /*********************** Create new Gaussian component Start ****************************/  
  •              if(num_fit == GMM_MAX_COMPONT && 0 == m_weight[GMM_MAX_COMPONT - 1].at<float>(i, j))  
  •              {  
  •                  //if there is no exit component fit,then start a new component  
  •                  //当有新值出现的时候,若目前分布个数小于M,新添一个分布,以新采样值作为均值,并赋予较大方差和较小权值  
  •                   for(int k = 0 ; k < GMM_MAX_COMPONT; k++)  
  •                  {  
  •                      if(0 == m_weight[k].at<float>(i, j))  
  •                      {  
  •                          m_weight[k].at<float>(i, j) = GMM_LEARN_ALPHA;  
  •                          m_mean[k].at<uchar>(i, j) = _image.at<uchar>(i, j);  
  •                          m_sigma[k].at<float>(i, j) = 15.0;  
  •                           
  •                          //normalization the weight,let they sum to 1  
  •                          for(int q = 0; q < GMM_MAX_COMPONT && q != k; q++)  
  •                          {  
  •                             //对其他的高斯模型的权值进行更新,保持权值和为1  
  •                              /****update the other unfit's weight,u and sigma remain unchanged****/  
  •                              m_weight[q].at<float>(i, j) *= (1 - GMM_LEARN_ALPHA);  
  •                          }  
  •                          break//找到第一个权值不为0的即可  
  •                       }                              
  •                   }  
  •              }  
  •              else if(num_fit == GMM_MAX_COMPONT && m_weight[GMM_MAX_COMPONT -1].at<float>(i, j) != 0)  
  •              {  
  •                  //如果GMM_MAX_COMPONT都曾经赋值过,则用新来的高斯代替权值最弱的高斯,权值不变,只更新均值和方差  
  •                  m_mean[GMM_MAX_COMPONT-1].at<uchar>(i, j) = _image.at<uchar>(i, j);  
  •  

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

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