CamShift算法----OpenCV实现2 Mean Shift算法
来源:互联网 发布:建筑贴膜淘宝 编辑:程序博客网 时间:2024/05/17 18:16
原文http://blog.csdn.net/houdy/archive/2004/11/10/175844.aspx
这里来到了CamShift算法,OpenCV实现的第二部分,这一次重点讨论Mean Shift算法。
在讨论Mean Shift算法之前,首先讨论在2D概率分布图像中,如何计算某个区域的重心(Mass Center)的问题,重心可以通过以下公式来计算:
1.计算区域内0阶矩
for(int i=0;i<height;i++)
for(int j=0;j<width;j++)
M00+=I(i,j)
2.区域内1阶矩:
for(int i=0;i<height;i++)
for(int j=0;j<width;j++)
{
M10+=i*I(i,j);
M01+=j*I(i,j);
}
3.则Mass Center为:
Xc=M10/M00; Yc=M01/M00
接下来,讨论Mean Shift算法的具体步骤,Mean Shift算法可以分为以下4步:
1.选择窗的大小和初始位置.
2.计算此时窗口内的Mass Center.
3.调整窗口的中心到Mass Center.
4.重复2和3,直到窗口中心"会聚",即每次窗口移动的距离小于一定的阈值。
在OpenCV中,提供Mean Shift算法的函数,函数的原型是:
int cvMeanShift(IplImage* imgprob,CvRect windowIn,
CvTermCriteria criteria,CvConnectedComp* out);
需要的参数为:
1.IplImage* imgprob:2D概率分布图像,传入;
2.CvRect windowIn:初始的窗口,传入;
3.CvTermCriteria criteria:停止迭代的标准,传入;
4.CvConnectedComp* out:查询结果,传出。
(注:构造CvTermCriteria变量需要三个参数,一个是类型,另一个是迭代的最大次数,最后一个表示特定的阈值。例如可以这样构造criteria:criteria=cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,10,0.1)。)
返回的参数:
1.int:迭代的次数。
实现代码:暂时缺
- CamShift算法,OpenCV实现2-Mean Shift算法
- CamShift算法,OpenCV实现2-Mean Shift算法
- CamShift算法,OpenCV实现2-Mean Shift算法
- CamShift算法----OpenCV实现2 Mean Shift算法
- CamShift算法,OpenCV实现2-Mean Shift算法
- CamShift算法,OpenCV实现2-Mean Shift算法
- Mean Shift算法(CamShift)
- CamShift算法,OpenCV实现2-Mean Shift算法 (转载)
- CamShift算法,OpenCV实现2-Mean Shift算法 (转载)
- CamShift算法,OpenCV实现2-Mean Shift算法 (转载)
- CamShift算法--Mean Shift算法
- Mean Shift算法(CamShift)
- Mean Shift和CamShift算法
- Mean Shift算法(CamShift)
- Opencv 实现 Mean-shift算法
- Back Projection/Mean Shift/CamShift 运动跟踪算法(opencv)
- 跟踪算法(mean-shift和Camshift)
- CAMSHIFT 算法原理解读 :连续自适应Mean Shift 算法
- 配置Java环境变量
- VS2005快捷键复位
- CamShift算法----OpenCV实现1 Back Projection
- 自己动手写一个C++ STL vector
- 两种情况的splitter
- CamShift算法----OpenCV实现2 Mean Shift算法
- 要编写一个程序,控制串口通讯,java里面有...
- J2ME 内存占用的问题
- 如何设置eclipse中tomcat启动web app时就在工程文件夹下?
- CamShift算法----OpenCV实现3 CamShift算法
- 使用ASP.NET AJAX开发文本框自动提示功能
- 用std::string取代char*
- POSIX message queues brief usage
- rootkit for linux 16.获取tcp可用端口号