从图像中去除背景和噪点

Posted

技术标签:

【中文标题】从图像中去除背景和噪点【英文标题】:Remove background and noise from image 【发布时间】:2017-03-19 16:51:07 【问题描述】:

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

类似这样的:

一开始我尝试获取 absDiff() 与运行平均值 accumulateWeighted() 和当前帧的差异,但结果不是我所期望的(只有边缘为 1,移动物体内部为 0)。

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

有没有办法获取整个移动对象?

【问题讨论】:

我有兴趣知道这方面的结果。一个想法,你可以试试?如果您应用对象跟踪技术来捕捉移动对象会怎样?您裁剪 roi(检测到的对象)并使用它。应用一个阈值,看看结果如何?你认为这可能有帮助吗? @ibininja 我使用了MOG2 的掩码来裁剪 roi,它成功了! ty 【参考方案1】:

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

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

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

【讨论】:

以上是关于从图像中去除背景和噪点的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV - 去除图像中的噪声

如何使用蒙版去除图像的噪点

去除opencv和c++中的边界线

浅析去除验证码图片中的干扰线噪点(java)

从扫描图像中去除背景渐变

从图像中去除背景噪音,使 OCR 的文本更清晰