给我应用边缘检测滤镜的图像,要实现标记段中点的“和”的蒙版,将是什么方法(希望是高效/高效的)?
谢谢。
更新:
添加了较亮图像(https://imgur.com/a/MN0t3pH)的示例。 如您在下图中所看到的,我们假设当用户标记一个区域(ROI)时,将会有一个对象从其背景中“突出”。我们的最终目标是获得该对象的最准确的“蒙版”,以便将其用于ML处理。
答案 0 :(得分:2)
从您上传的两个示例中,我可以假设您是基于颜色/强度的差异进行阈值化的-我可以建议将grabcut作为基本的前景分离-在该ROI中使用蒙版中的边缘作为对算法。 甚至更好-如果您的阈值处理效果很好,只需跳过边缘检测部分,这将成为抓取的输入。
========编辑=======
@RoiMulia如果您需要生产水平,我建议您完全离开阈值+边缘检测方向,并尝试使用背景去除技术(SOTA当前是神经网络,例如Background Matting: The World is Your Green Screen(example)。
您还可以尝试使用一些现成的后台清除API,例如https://www.remove.bg/或https://clippingmagic.com/
答案 1 :(得分:1)
1。
鉴于您拥有“ ROI”监督,我强烈建议您探索GrabCut(由YoniChechnik提出):
牧师C,柯尔莫哥洛夫V,布莱克A。"GrabCut" interactive foreground extraction using iterated graph cuts。图形上的ACM事务(TOG)。 2004。
要了解其工作原理,可以使用powerpoint的“背景消除”工具:
这是基于GrabCut算法的。
GrabCut主要根据前景/背景颜色分布将前景对象分割为选定的ROI,而边缘/边界信息较少,尽管可以将这些额外信息集成到公式中。
opencv似乎具有GrabCut的基本实现,请参见here。
2。
如果您正在寻找仅使用边界信息的方法,则可能会发现this answer有用。
3。
另一种方法是使用NCuts:
Shi J,Malik J。Normalized cuts and image segmentation。关于模式分析和机器智能的IEEE Transactions 2000。
如果边缘地图非常可靠,则可以将NCuts使用的“亲和矩阵”修改为二进制矩阵
0 if there is a boundary between i and j
w_ij = 1 if there is no boundary between i and j
0 if i and j are not neighbors of each other
可以将NCuts视为估算“鲁棒连接组件”的一种方式。