从图像中去除背景和噪点
Posted
技术标签:
【中文标题】从图像中去除背景和噪点【英文标题】:Remove background and noise from image 【发布时间】:2017-03-19 16:51:07 【问题描述】:我试图从视频中删除背景并获取二进制图像(或 8 位),其中移动对象的值为 1,静态背景为 0。
类似这样的:
一开始我尝试获取 absDiff()
与运行平均值 accumulateWeighted()
和当前帧的差异,但结果不是我所期望的(只有边缘为 1,移动物体内部为 0)。
所以我选择了createBackgroundSubtractorMOG2
和createBackgroundSubtractorMOG
,但这也不好(同样的问题)。
有没有办法获取整个移动对象?
【问题讨论】:
我有兴趣知道这方面的结果。一个想法,你可以试试?如果您应用对象跟踪技术来捕捉移动对象会怎样?您裁剪 roi(检测到的对象)并使用它。应用一个阈值,看看结果如何?你认为这可能有帮助吗? @ibininja 我使用了MOG2
的掩码来裁剪 roi,它成功了! ty
【参考方案1】:
混合高斯方法并不能解决您的所有问题。常见问题是对光照条件敏感,例如将阴影附加到提取的前景对象上。如果图像场景(背景)大致相同,您可以通过一些图像处理来优化结果。
如果背景与附图中的相似,尝试在 HSI 空间中构建颜色直方图,创建提取的前景对象的图像(不是蒙版,实际彩色图像)并删除颜色与地板相似的像素(技术来自皮肤检测方法)。通过这种方式,您可以移除一些附在人/物体上的阴影。
此外,如果实时处理在您的应用程序中并不重要,您可以使用更复杂的背景/前景检测,例如 SubSENSE。
【讨论】:
以上是关于从图像中去除背景和噪点的主要内容,如果未能解决你的问题,请参考以下文章