aihot  2017-04-27 23:51:15  OpenCV |   查看评论   
  
  • void CompressiveTracker::processFrame(Mat& _frame, Rect& _objectBox)  
  • {  
  •     // predict  
  •     //在上一帧跟踪到的boxbox周围,采集需要检测的box框  
  •     sampleRect(_frame, _objectBox, rSearchWindow, detectBox);  
  •     //计算这一帧的积分图  
  •     integral(_frame, imageIntegral, CV_32F);  
  •     //用积分图来计算上面采集到的每个box的harr特征  
  •     getFeatureValue(imageIntegral, detectBox, detectFeatureValue);  
  •     int radioMaxIndex;  
  •     float radioMax;  
  •     //对上面的每个box进行匹配分类  
  •     radioClassifier(muPositive, sigmaPositive, muNegative, sigmaNegative, detectFeatureValue, radioMax, radioMaxIndex);  
  •     //得到分数最高的那个目标box  
  •     _objectBox = detectBox[radioMaxIndex];  
  •   
  •     // update  
  •     //在新跟踪到的这个目标box的周围,采集正样本和负样本来更新我们的分类器  
  •     sampleRect(_frame, _objectBox, rOuterPositive, 0.0, 1000000, samplePositiveBox);  
  •     sampleRect(_frame, _objectBox, rSearchWindow*1.5, rOuterPositive+4.0, 100, sampleNegativeBox);  
  •       
  •     //通过上面的积分图,计算我们采样到的正负样本的box的harr特征  
  •     getFeatureValue(imageIntegral, samplePositiveBox, samplePositiveFeatureValue);  
  •     getFeatureValue(imageIntegral, sampleNegativeBox, sampleNegativeFeatureValue);  
  •       
  •     //通过上面的正负样本的特征来更新我们的分类器  
  •     classifierUpdate(samplePositiveFeatureValue, muPositive, sigmaPositive, learnRate);  
  •     classifierUpdate(sampleNegativeFeatureValue, muNegative, sigmaNegative, learnRate);  
  •  

    除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自压缩跟踪Compressive Tracking源码理解

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