簡體   English   中英

帶升壓圖的圖像分割

[英]Image Segmentation with boost graph

我最近發現了boost :: graph。 由於我從沒使用過圖論,所以我想知道如何解決升壓圖的以下問題。

假設我有一個簡單的(灰度)2D圖像,我想從中提取滿足特定條件的區域,例如像素值>閾值。 上面是白色,下面是黑色。

我將如何實施?

我的第一個線索是為圖像中的每個像素向圖形添加一個單一的頂點。 然后將每個像素頂點以相同的顏色(白色/黑色)連接到其相鄰像素。 然后,我可以使用connected_components()函數提取區域。

還是連接所有相鄰像素並將邊界信息編碼到邊緣(邊界邊緣,非邊界邊緣)更有效?

實際上,有一些有趣的基於圖論的分割算法,稱為圖割分割。 他們使用彩色邊緣對相鄰像素之間的差異信息進行編碼。

對於您的非常簡單的細分,盡管對我而言根本不使用圖。

我肯定會在前者中為每個像素創建一個頂點,然后連接共享標准的像素(或相鄰像素,具體取決於您要執行的操作)。 這樣,您可以進行“像素遍歷”來查找圖像中滿足特定條件的所有區域(或至少相鄰區域)。

為了找到適合您條件的第一個像素以開始步行序列,可以使用兩種方法。 1)從圖像中隨機選擇像素; 2)保存指向適合您不同條件的像素的列表指針(每個條件只需要一個像素),或3)在圖像上保存某種類型的漸變信息,以便從圖像中只選擇一個像素,然后您可以沿着梯度流進行搜索以找到所需的像素(即,梯度將為您提供方向信息,指示您需要在何處選擇下一個像素以更接近所需像素)您要尋找的標准)。 我認為選擇1或2最容易實現。

希望這可以幫助,

傑森

暫無
暫無

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

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