OpenCV-“;填写「;背景减法遮罩中缺少的对象片段

OpenCV-“;填写「;背景减法遮罩中缺少的对象片段,opencv,computer-vision,Opencv,Computer Vision,(我是在OpenCV的背景下问这个问题的,但欢迎使用其他库或通用计算机视觉技术回答) 当使用MOG2等进行背景减法时,对象中通常会有间隙,因此如果要应用遮罩,则会丢失数据(请参见下面上载的示例遮罩)。在OpenCV(最好是Python)中,有什么好方法可以“关闭”边缘,然后在关闭的边缘内填充掩码(请参阅上传的我手动创建的示例图像)?一个关键问题是,当边缘缺少一个块时,OpenCV需要知道如何继续边缘以关闭和填充该块 例如,如果使用背景减法检测行走的人,然后将遮罩应用于图像并进行“填充”,最终结果

(我是在OpenCV的背景下问这个问题的,但欢迎使用其他库或通用计算机视觉技术回答)

当使用MOG2等进行背景减法时,对象中通常会有间隙,因此如果要应用遮罩,则会丢失数据(请参见下面上载的示例遮罩)。在OpenCV(最好是Python)中,有什么好方法可以“关闭”边缘,然后在关闭的边缘内填充掩码(请参阅上传的我手动创建的示例图像)?一个关键问题是,当边缘缺少一个块时,OpenCV需要知道如何继续边缘以关闭和填充该块

例如,如果使用背景减法检测行走的人,然后将遮罩应用于图像并进行“填充”,最终结果将是一个人被遮罩出背景,而不会从他们的身体或衣服上丢失任何块,这与不首先进行此操作而仅应用遮罩不同

我知道在某些情况下,他们的皮肤或衣服可能太多与背景匹配,因此这种方法可能无法在所有情况下都完美地工作,但我至少正在寻找一种效果相当好的方法

这一切背后的目标是能够提取移动对象,以便对其进行HAAR/LBP匹配,从而更有效地识别它们(由于找到了感兴趣的区域)和准确地识别它们(由于消除了任何可能的背景混淆)

原创的

理想情况下会变成这样


我要尝试的第一件事是形态学运算。形态学打开以滤除遮罩中的噪声斑点,形态学关闭和形态学孔洞填充以填充间隙。你必须进行实验,为你的具体问题找到最佳的结构元素