CamShift算法,OpenCV实现2-Mean Shift算法 (转载)
来源:互联网 发布:遗传算法 特征选择 编辑:程序博客网 时间:2024/05/03 04:53
这里来到了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:迭代的次数。
实现代码:暂时缺
在讨论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算法
- CamShift算法,OpenCV实现2-Mean Shift算法
- CamShift算法,OpenCV实现2-Mean Shift算法
- CamShift算法----OpenCV实现2 Mean Shift算法
- Mean Shift算法(CamShift)
- Mean Shift算法(CamShift)
- Mean Shift算法(CamShift)
- CamShift算法--Mean Shift算法
- 跟踪算法(mean-shift和Camshift)
- Mean Shift和CamShift算法
- Opencv 实现 Mean-shift算法
- Back Projection/Mean Shift/CamShift 运动跟踪算法(opencv)
- CamShift算法,OpenCV实现(3):CamShift算法 (转载)
- 嵌套循环性能 FIELD-SYMBOLS
- Handbook of Network and System Administration
- 差分法求运动轮廓
- Using OpenMP: Portable Shared Memory Parallel Programming
- Embedded Software: The Works
- CamShift算法,OpenCV实现2-Mean Shift算法 (转载)
- operator int()
- Microsoft Office Access 2007 On Demand
- 通过读数据库来获取手机联系人
- CamShift算法,OpenCV实现(3):CamShift算法 (转载)
- HL7 电子病历系统的功能模型
- 嵌入式Linux研发,非常值得研究的几个开源项目
- The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws
- 周杰伦江语晨恋情曝光 化名写情歌被揭穿