Camshift

它是MeanShift算法的改进,称为连续自适应的MeanShift算法,CamShift算法的全称是"Continuously Adaptive Mean-SHIFT",它的基本思想是视频图像的所有帧作MeanShift运算,并将上一帧的结果(即Search Window的中心和大小)作为下一帧MeanShift算法的Search Window的初始值,如此迭代下去。
Camshift 是由Meanshift 推导而来 Meanshift主要是用在单张影像上,但
是独立一张影像分析对追踪而言并无意义,Camshift 就是利用MeanShift的方
法,对影像串列进行分析。
(1) 首先在影像串列中选择ㄧ区域。
(2) 计算此区域的颜色2D机率分布。
(3) 用MeanShift演算法来收敛欲追踪的区域。
(4) 集中收敛的区域,并标示之。
(5) 每个frame重复(3)(4)。
Camshift 关键就在于当目标的大小发生改变的时候,此算法可以自适应调整目标区域继续跟踪。
对于OPENCV中的CAMSHIFT例子,是通过计算目标HSV空间下的HUE分量直方图,通过直方图反向投影得到目标像素的概率分布,然后通过调用CV库中的CAMSHIFT算法,自动跟踪并调整目标窗口的中心位置与大小。
这个算法对于纯色物体在黑白背景下的跟踪效果是很好的,但是如果背景的颜色与目标相近,或者目标附近有与目标的色调相近的算法比较物体,则CAMSHIFT会自动将其包括在内,导致跟踪窗口扩大,甚至有时会将跟踪窗口扩大到整个视频框架。

你可能感兴趣的:(Camshift)