运动检测 - 帧差法等原理

版权声明:belongs to tony2278 https://blog.csdn.net/tony2278/article/details/88623827

根据摄像头是否保持静止,运动检测分为静态背景和运动背景两类。大多数视频监控系统是摄像头固定的,因此静态背景下运动目标检测算法受到广泛关注,常用的方法有帧差法、光流法、背景减除法等。

1 帧差法的实现非常简单:

优点:实时性

缺点:

1、运动物体如果过大,且颜色一致,则会造成运动物体中空的现象

2、如果光照变化强烈,也不适合该算法

三帧差法运动目标检测代码及注释

两帧差分和三帧差分的比较

 采用帧间差分法对自拍序列 lab 序列进行运动目标检测的实验结果,(b)图是采用两帧差分法的检测结果,(c)图是采用三帧差分法的检测结果。lab序列中的目标运动较快,在这种情况下,运动目标在不同图像帧内的位置明显不同,采用两帧差分法检测出的目标会出现“重影”的现象,采用三帧差分法,可以检测出较为完整的运动目标。

帧间差分法的原理简单,计算量小,能够快速检测出场景中的运动目标。但由实验结果可以看出,帧间差分法检测的目标不完整,内部含有“空洞”,这是因为运动目标在相邻帧之间的位置变化缓慢,目标内部在不同帧图像中相重叠的部分很难检测出来。帧间差分法通常不单独用在目标检测中,往往与其它的检测算法结合使用。

2 光流法

光流法不需要预先知道场景的任何信息,就能够检测到运动对象,可处理背景运动的情况,但噪声、多光源、阴影和遮挡等因素会对光流场分布的计算结果造成严重影响;而且光流法计算复杂,很难实现实时处理。 

3 背景减除法 
背景减除法是一种有效的运动对象检测算法,基本思想是利用背景的参数模型来近似背景图像的像素值,将当前帧与背景图像进行差分比较实现对运动区域的检测,其中区别较大的像素区域被认为是运动区域,而区别较小的像素区域被认为是背景区域。背景减除法必须要有背景图像,并且背景图像必须是随着光照或外部环境的变化而实时更新的,因此背景减除法的关键是背景建模及其更新。

C++利用帧差法背景差分实现运动目标检测(opencv)

opencv运动物体追踪的实现

对视屏中的运动物体用帧差法实现了识别,怎么进行追踪??可以用camshift追踪吗?

openCV光流法追踪运动物体

猜你喜欢

转载自blog.csdn.net/tony2278/article/details/88623827