簡體   English   中英

將邊緣檢測轉換為遮罩

[英]Convert Edge Detection to Mask

給出我應用邊緣檢測過濾器的圖像,實現標記片段中點的“總和”的掩碼的方式(希望是有效/高性能的方式)是什么?

圖片說明: 在此處輸入圖像描述

先感謝您。

更新:

添加了較亮圖像的示例( https://imgur.com/a/MN0t3pH )。 正如您將在下圖中看到的,我們假設當用戶標記一個區域 (ROI) 時,將會有一個 object 從其背景中“突出”。 我們的最終目標是得到這個 object 最准確的“掩碼”,以便我們可以將其用於 ML 處理。

在此處輸入圖像描述

從您上傳的兩個示例中,我可以假設您正在根據顏色/強度的差異進行閾值處理-我可以建議 將抓取作為基本的前景分離-使用該 ROI 中蒙版中的邊緣作為算法的輸入。 更好的是 - 如果您的閾值與第一張圖像一樣好,只需跳過邊緣檢測部分,這將是抓取的輸入。

======= 編輯 =======

@RoiMulia 如果您需要生產級別,我可以建議您完全離開閾值 + 邊緣檢測方向並嘗試背景去除技術(SOTA 目前是神經網絡,例如Background Matting:The World is Your Green Screen示例))。

您還可以嘗試一些現成的背景移除 API,例如https://www.remove.bg/https://clippingmagic.com/

1.
鑒於您擁有的“投資回報率”監督,我強烈建議您探索 GrabCut(由YoniChechnik提出):
Rother C,Kolmogorov V,Blake A. “GrabCut”交互式前景提取使用迭代圖形切割 ACM 圖形事務 (TOG)。 2004 年。

要了解它是如何工作的,您可以使用 power-point 的“背景去除”工具:
在此處輸入圖像描述
它基於 GrabCut 算法。

這是它在 power point 中的樣子:
在此處輸入圖像描述

GrabCut 主要根據其前景/背景顏色分布對選定 ROI 中的前景 object 進行分段,而邊緣/邊界信息較少,盡管可以將這些額外信息集成到公式中。

似乎 opencv 具有 GrabCut 的基本實現,請參見此處


2.
如果您正在尋找一種僅使用邊界信息的方法,您可能會發現此答案很有用。


3.
另一種方法是使用 NCuts:Shi J, Malik J. Normalized cut and image segmentation IEEE 模式分析和機器智能匯刊。 2000 年。

如果您有非常可靠的邊緣 map,您可以將“親和矩陣”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 可以被視為一種估計“健壯連接組件”的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM