camShift跟踪算法介绍
来源:互联网 发布:如何使用itudou软件 编辑:程序博客网 时间:2024/05/21 18:34
CamShift算法的全称是"Continuously Adaptive Mean-SHIFT",即:连续自适应的MeanShift算法。其基本思想是对视频序列的所有图像帧都作MeanShift运算,并将上一帧的结果(即搜索窗口的中心位置和窗口大小)作为下一帧MeanShift算法的搜索窗口的初始值,如此迭代下去。简单点说,meanShift是针对单张图片寻找最优迭代结果,而camShift则是针对视频序列来处理,并对该序列中的每一帧图片都调用meanShift来寻找最优迭代结果。正是由于camShift针对一个视频序列进行处理,从而保证其可以不断调整窗口的大小,如此一来,当目标的大小发生变化的时候,该算法就可以自适应地调整目标区域继续跟踪。
在OpenCV自带的camShift的例子当中,是通过计算目标在HSV空间下的H分量直方图,通过直方图反向投影得到目标像素的概率分布,然后通过调用OpenCV的CAMSHIFT算法,自动跟踪并调整目标窗口的中心位置与大小。该算法对于简单背景下的单目标跟踪效果较好,但如果被跟踪目标与背景颜色或周围其它目标颜色比较接近,则跟踪效果较差。另外,由于采用颜色特征,所以它对被跟踪目标的形状变化有一定的抵抗能力。
OpenCV自带例子中的camShift算法,可以分为三个部分:
一、计算色彩投影图(反向投影):
(1)为了减少光照变化对目标跟踪的影响,首先将图像从RGB颜色空间转换到HSV颜色空间;
(2)对H分量进行直方图统计,直方图代表了不同H分量取值出现的概率,或者说可以据此查找出H分量的大小为x时的概率或像素个数,即,得到颜色概率查找表;
(3)将图像中每个像素的值用其颜色出现的概率进行替换,由此得到颜色概率分布图;
以上三个步骤称之为反向投影,需要提醒的是,颜色概率分布图是一个灰度图像;
二、meanShift寻优
前面提到过meanShift算法(http://blog.csdn.net/carson2005/article/details/7337432)是一种非参数概率密度估计方法,它通过不断迭代计算得到最优搜索窗口的位置和大小。
三、camShift跟踪算法
前面提到,camShift其实就是在视频序列的每一帧当中都运用meanShift,并将上一帧的meanShift结果作为下一帧的初始值,如此不断循环迭代,就可以实现目标的跟踪了。
- camShift跟踪算法介绍
- camShift跟踪算法介绍
- camshift跟踪算法介绍
- camShift跟踪算法介绍
- CamShift跟踪算法
- 目标跟踪:CamShift算法
- 目标跟踪方法--CamShift 算法
- 转:运动物体跟踪的camshift算法
- meanshift 与 camshift 跟踪算法比较
- 运动物体跟踪的camshift算法
- 运动物体跟踪的camshift算法
- Opencv学习(Camshift跟踪算法)
- meanshift 与 camshift 跟踪算法比较
- OpenCV 运动物体跟踪的camshift算法
- 运动物体跟踪的camshift算法
- OpenCV目标跟踪(三)-camshift算法
- 跟踪算法(mean-shift和Camshift)
- 目标跟踪Camshift算法(Opencv实现)
- 访问android 手机内存与存储卡,查询存储卡剩余容量 (Environment 加 StatFs)
- 1005 Number Sequence
- c语言中的全局变量,局部变量,static,extern
- 写博客的原因
- 手机软件系统测试用例设计举例
- camShift跟踪算法介绍
- 计算机体系结构(四)——海明码
- 简单的多级下拉菜单
- .globl _start
- Grep学习笔记
- android系统退出
- 多层板经典层叠
- hibernate 多对多的增删改操作
- 两个窗体间实现数据传递