Region Morphology vTool#
您可以縮減或擴展區域、移除小型結構、移除孔洞或 Fill 孔洞。這能確保後續處理更具效率或提供更好的結果。
Region Morphology vTool 透過 Regions 輸入接腳接收區域或區域陣列,並透過 Regions 輸出接腳輸出區域陣列。
Region Morphology vTool 的 Regions 輸出也可以作為具有 Roi 輸入接腳的 vTool 的 Roi 輸入。如需更多資訊,請參閱 ROI Creator vTool 主題。
Region Morphology vTool 可用於 Blob Analysis Basic 與 Color Blob Analysis Basic 授權。若要購買授權,請造訪 Basler 網站。

運作原理#
區域形態學的目的是對區域進行操作。基本的形態學操作「侵蝕」(Erosion) 和「膨脹」(Dilation) 是基於區域遮罩。「填滿」(Fill) 操作則不需要遮罩。
遮罩形狀#
提供圓形與矩形遮罩。根據遮罩形狀,您可以指定寬度與高度或半徑。每個遮罩都有一個明確定義的中心。在形態學操作期間,遮罩會逐行在影像上移動。
對於寬度和高度為奇數值的矩形遮罩(例如 3、5、7 等),遮罩的中心與遮罩的重心相同。遮罩相對於中心是對稱的。
對於半徑為整數加 0.5 的圓形遮罩(例如 1.5、2.5、3.5 等),遮罩的中心與遮罩的重心相同。遮罩相對於中心是對稱的。
如果您首次開啟設定對話方塊並選取矩形遮罩,寬度和高度會被連結。這表示您可以同時變更兩個參數,且產生的遮罩會是正方形。您也可以分別設定寬度和高度。若要這麼做,請按一下鏈結圖示以解除寬度和高度之間的連結。
- 選項已連結:
- 選項未連結:
形態學運算#
以下是各種操作的運作方式:
- 侵蝕 (Erosion):只要遮罩完全吻合於輸入區域內部,被遮罩中心擊中的像素就會被新增至輸出區域。這會減少區域的面積。
- Dilation:只要遮罩與輸入區域至少共用一個像素,遮罩中心所擊中的像素就會被新增至輸出區域。這會擴大區域的面積。
- Opening:這是侵蝕(Erosion)與膨脹(Dilation)的串接。用於膨脹的遮罩與侵蝕的遮罩相同,但旋轉了 180 °。此操作會從區域中移除小於遮罩的結構。輸出區域的大小和形狀與之前大致相同。
- Closing:這是膨脹與侵蝕的串接。用於侵蝕的遮罩與膨脹的遮罩相同,但旋轉了 180 °。此操作會填滿或彌合區域中小於遮罩的間隙。該區域的大小和形狀與之前大致相同。
- Fill:這會填滿區域內的孔洞。此操作不需要遮罩。
除了上述選項之外,您也可以執行 region splitting。這會將區域的連通元件轉化為獨立的區域。如果您勾選相應的核取方塊,系統將會計算所有單一或多個輸入區域的連通元件。
連通元件是指所有像素都具有直接相鄰像素(在水平、垂直和對角線方向上)的區域。未連通的區域將會被分割成個別的輸出區域。
您也可以在未進行任何前期形態學操作的情況下,直接對原始輸入區域執行區域分割。
資訊
如果您將 Region Morphology 作為 blob 分析的一部分,您可以串接多個 Region Morphology vTool,以便在最後計算出所需的輸出區域。
根據 blob 分析的目標,您可以在一系列區域形態學操作中使用 Region Selection vTool 作為中間步驟或最後步驟,以篩選出相關的區域。
範例#
以下章節使用範例影像說明不同的形態學操作。
侵蝕與膨脹#
以下影像顯示如何連續使用兩個形態學操作(侵蝕和膨脹)來分離相鄰的物件,同時保留其原始形狀。因此,可以正確計算物件數量,隨後可能可以根據 region features 進行檢測。
這是顯示白色藥丸的輸入影像:

這是找到初始區域的影像,例如在顏色分類之後:

套用侵蝕操作後,區域看起來像這樣:

最後,套用膨脹操作後,藥丸就被分離了。

開運算與 Fill#
Opening 操作通常用於抑制因影像雜訊或雜物而產生的小區域,這些雜訊或雜物會導致分割不完全的區域。換句話說,Opening 可以透過使用適當的遮罩來過濾掉明顯大的區域結構。
以下影像顯示,透過使用大約為目標物件大小一半的圓形遮罩來開啟區域,可以檢測出電路板的基準標記。
區域填充被用作中間步驟,將環形轉化為填滿的圓形。
這是顯示電路板的輸入影像:

使用閥值化(Thresholding),可以在輸出區域中看到影像中的明亮結構:

套用 Filling 後,環形區域會被填滿:

最後,套用 Opening 將會清除所有微小區域,僅留下作為偵測區域的基準點:

Closing#
Closing 操作基本上用於關閉區域中的凹陷、填補間隙,或連接個別的區域片段。
基於先前相同的電路板範例,此範例展示了如何分割球閘陣列區域。起點是顯示上述明亮結構的閥值處理影像。
套用具有足夠大矩形遮罩的 Closing 操作,以跨越球閘陣列所有焊球之間的間隙。

套用 Opening 操作以減少不需要的小型區域。

最後,使用 Region Selection vTool 根據大小來選擇兩個球閘陣列區域。

常見使用案例#
- 透過使用圓形或矩形 Erosion 來縮減區域
- 透過使用圓形或矩形 Dilation 來擴展區域
- 透過使用 Opening 來移除小型物件
- 透過使用具有適當遮罩形狀的 Opening 來濾除較大的物件
- 透過使用 Closing 來填補小孔或凹陷
- 透過使用 Closing 來橋接區域之間的間隙
- 透過使用 Fill 來填補區域內部的孔洞
- 將互相連接的區域元件分割成獨立區域,以便計算區域數量
設定 vTool#
若要設定 Region Morphology vTool:

- 在 vTool Settings 區域中的 Recipe Management 窗格中,按一下 Open Settings 或按兩下該 vTool。
隨即會開啟 Region Morphology 對話方塊。 - 在 Morphology Operation 區域中,選取您要執行的操作。
如果您只想分割區域而不執行任何形態學操作,請選取 Off。 - 在 Mask Shape 區域中,選取遮罩的形狀與大小。
Erosion、Dilation、Closing 和 Opening 操作都需要遮罩。 - 在 Region Splitting 區域中,指定是否要將某個區域中互相連接的元件分割成獨立區域。
分割也可以直接套用於輸入影像上,而不需先執行任何形態學操作。
您可以在 pin data view 中檢視形態學運算的結果。在此,您可以選擇要顯示哪些輸出。
Inputs#
Regions#
可接受單一或多個區域。
- 資料類型:區域、區域陣列
Outputs#
Regions#
傳回單一或多個處理後的區域。
- 資料類型:Region Array
相關 vTools#
典型前置項目#
- Color Classifier vTool
- Auto Thresholding vTool
- Absolute Thresholding vTool
- Relative Thresholding vTool