从图像中去除背景和噪声

6
我正在尝试从视频中去除背景,并获得二进制图像(或8位),其中移动的对象值为1,静态背景为0。类似于这样:

enter image description here

起初我尝试使用从运行平均值 accumulateWeighted() 和当前帧获取差异的absDiff(),但结果并非我所期望(只有边缘为1,移动对象内部为0)。
因此,我选择了createBackgroundSubtractorMOG2createBackgroundSubtractorMOG,但这也不好(同样的问题)。
有办法获取整个移动对象吗?

我对了解这个结果很感兴趣。你可以试试这个想法吗?如果你应用物体跟踪技术来捕捉移动的物体;你裁剪roi(检测到的物体)并只处理那个。应用一个阈值,看看会发生什么?你认为这可能有帮助吗? - ibininja
@ibininja 我使用了 MOG2 的掩码来裁剪 roi,它起作用了!谢谢 - user4312643
1个回答

0

高斯混合模型并不能解决所有问题。普遍存在的问题是对光照条件的敏感性,例如将阴影附加到提取的前景对象上。如果图像场景(背景)大致相同,则可以通过一些图像处理来优化结果。

如果背景与附加的图像类似,请尝试在HSI空间中构建颜色直方图,创建提取的前景对象图像(不是掩模,实际有色图像),然后删除颜色与地面相似的像素(这种技术是从皮肤检测方法中得知的)。这样,您可以消除附着在人/物体上的一些阴影。

此外,如果实时处理不是您的应用程序关键所在,您可以使用更复杂的背景/前景检测方法,例如 SubSENSE


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接