CVMEANSHIFT算法可以分为以下4步:

1.选择窗的大小和初始位置.
2.计算此时窗口内的Mass Center.
3.调整窗口的中心到Mass Center.
4.重复2和3,直到窗口中心"会聚",即每次窗口移动的距离小于一定的阈值,或者迭代次数达到设定值。

cv库里的函数说明参考http://blog.csdn.net/sunboyiris/article/details/23290675

/* Implements MeanShift algorithm - determines object position    from the object histogram back project */ CVAPI(int)  cvMeanShift( const CvArr* prob_image, CvRect  window,                         CvTermCriteria criteria, CvConnectedComp* comp );

在opencv的sample 库里,拉出camshiftdemo源码,将cvCamShift函数改成一下源码:

cvMeanShift( backproject, track_window, 				cvTermCriteria( CV_TERMCRIT_EPS | CV_TERMCRIT_ITER, 10, 1 ), 				&track_comp ); 			cout<<track_comp.rect.height<<endl<<track_comp.rect.width<<endl<<track_comp.rect.x<<endl<<track_comp.rect.y<<endl; 			cout<<track_comp.value.val<<endl;
测试通过,输出ROI区域信息。