跟踪算法(mean-shift和Camshift)

跟踪算法(mean-shift和Camshift)


C++: int meanShift(InputArray probImage, Rect& window, TermCriteria criteria)

Parameters:
  • probImage – Back projection of the object histogram. See calcBackProject() for details.
  • window – Initial search window.
  • criteria – Stop criteria for the iterative search algorithm.
Returns:

Number of iterations CAMSHIFT took to converge.

C++:   RotatedRect  CamShift ( InputArray  probImage , Rect&  window , TermCriteria  criteria )

Parameters:
  • probImage – Back projection of the object histogram. See calcBackProject() .
  • window – Initial search window.
  • criteria – Stop criteria for the underlying meanShift() .
Returns:

(in old interfaces) Number of iterations CAMSHIFT took to converge

示例

// 旋转矩形                 if( trackWindow.area() <= 1 )                 {                     int cols = backproj.cols, rows = backproj.rows, r = (MIN(cols, rows) + 5)/6;                     trackWindow = Rect(trackWindow.x - r, trackWindow.y - r,                                        trackWindow.x + r, trackWindow.y + r) &                                   Rect(0, 0, cols, rows);                 }                 if( backprojMode )                     cvtColor( backproj, image, COLOR_GRAY2BGR );                 ellipse( image, trackBox, Scalar(0,0,255), 3, CV_AA );             }         }         else if( trackObject < 0 )             paused = false;         if( selectObject && selection.width > 0 && selection.height > 0 )         {             Mat roi(image, selection);             bitwise_not(roi, roi);         }         imshow( "CamShift Demo", image );         imshow( "Histogram", histimg );         char c = (char)waitKey(10);         if( c == 27 )             break;         switch(c)         {         case 'b':             backprojMode = !backprojMode;             break;         case 'c':             trackObject = 0;             histimg = Scalar::all(0);             break;         case 'h':             showHist = !showHist;             if( !showHist )                 destroyWindow( "Histogram" );             else                 namedWindow( "Histogram", 1 );             break;         case 'p':             paused = !paused;             break;         default:             ;         }     }     return 0; }

跟踪算法(mean-shift和Camshift)_第1张图片

你可能感兴趣的:(图像处理(opencv))