从图像中删除背景和噪音

时间:2016-11-06 06:27:58

标签: python opencv image-processing motion-detection background-subtraction

我试图从视频中删除背景并获取二进制图像(或8位),其中移动的对象的值为1,静态背景为0.

类似的东西:

enter image description here

起初我尝试了从差异absDiff() 获得差异 accumulateWeighted() 和当前帧,但结果不是我的意思预期(只有边缘为1,移动物体内部为0)。

所以我去了createBackgroundSubtractorMOG2createBackgroundSubtractorMOG,但这也不好(同样的问题)。

有没有办法获得整个移动物体?

1 个答案:

答案 0 :(得分:0)

高斯混合法不会解决你所有的问题。常见问题是对光线条件的敏感性,例如将阴影附加到提取的前景对象。如果图像场景(背景)大致相同,您可以通过一些图像处理来优化结果。

如果背景与附加图像类似,尝试在HSI空间中构建颜色直方图,创建提取的前景对象(不是蒙版,实际彩色图像)的图像,并删除颜色类似于地板的像素(从皮肤检测方法)。通过这种方式,您可以删除附加到人/物体的一些阴影。

此外,如果实时处理在您的应用程序中并不重要,您可以使用更复杂的背景/前景检测,如SubSENSE