背景减法算法

时间:2013-06-26 09:12:34

标签: opencv image-processing background-subtraction

我正在尝试实现一种简单的背景减法方法,用于检测特定场景中的移动物体。目标是将视频中的特定动作分割出来,以便在另一个视频中使用它。

我遵循的算法是: 1.从视频中取出前25帧并对其进行平均以获得背景模型。 2.找出这些25帧的标准偏差并将值存储在另一个图像中。 3.现在我正在计算每个帧与平均背景模型之间的绝对差值。

我得到的输出是一种以白色突出显示的透明运动(绝对差异导致我认为的透明度)。我想知道我的方法是否正确,考虑到我将在下一步对此输出进行分割?而且我也不知道如何使用标准偏差图像。任何帮助将不胜感激。

如果这不是我应该在堆栈溢出中发布的问题类型,请告诉我。在这种情况下,任何参考或链接到其他网站将是有帮助的。

3 个答案:

答案 0 :(得分:2)

你应该看看那个博客。 http://mateuszstankiewicz.eu/?p=189 你会找到一个答案的开始。此外,我认为在Opencv中有一个特定的视频分析模块。

答案 1 :(得分:2)

你说它看起来像透明

这是你看到的吗?→See YouTube Video - Background Subtraction (approximate median)

enter image description here

原因是您使用所有帧的中值来创建背景。 您在视频中看到的白色是前景(平均图像)和背景的差异。实际上,中值滤波后的背景减法方法很简单,但它不是一种鲁棒的方法。

您可以尝试其他背景减法方法,例如高斯混合模型(GMM)代码簿 SOBS-自组织背景减法和< strong> ViBe 背景扣除法。

See YouTube Video - Background Subtraction using Gaussian Mixture Models (GMMs)

答案 2 :(得分:0)