Region Morphology vTool#
您可以縮小或擴大區域、移除小型結構、移除孔洞,或填補孔洞。這能確保後續處理更有效率,或取得更好的結果。
Region Morphology vTool 透過Regions輸入接腳接收區域或區域陣列,並透過Regions輸出接腳輸出區域陣列。
Region Morphology vTool 的「區域 (Regions)」輸出,亦可作為具備ROI輸入引腳之 vTool 的ROI輸入。如需更多資訊,請參閱 ROI Creator vTool 相關主題。
Region Morphology vTool 提供 Blob Analysis Basic 及ColorBlob Analysis Basic授權版本中提供。如欲購買授權,請造訪Basler 網站。

運作原理#
區域形態學的目的是對區域進行處理。基本形態學運算「侵蝕」與「膨脹」皆以區域遮罩為基礎。而「Fill 」運算則無需遮罩。
光罩形狀#
提供圓形和矩形遮罩。根據遮罩的形狀,您可以指定寬度與高度,或半徑。每個遮罩都有一個明確定義的中心點。在形態學運算過程中,遮罩會一行一行地沿著影像移動。
對於寬度和高度數值為奇數的矩形遮罩(例如 3、5、7 等),其中心即為遮罩的重心。該遮罩以該中心為軸對稱。
對於半徑為整數加上 0.5(例如 1.5、2.5、3.5 等)的圓形遮罩,其中心即為遮罩的重心。該遮罩以該中心為軸對稱。
如果您首次開啟設定對話方塊並選擇矩形遮罩,寬度和高度會被綁定在一起。這表示您可以同時調整這兩個參數,而生成的遮罩將會是正方形。您也可以分別設定寬度和高度。若要這樣做,請點擊鏈接圖示以解除寬度和高度之間的綁定。
- 已連結選項:
- 未連結選項:
形態學運算#
以下是各項操作的運作方式:
- 侵蝕:凡是遮罩完全位於輸入區域內的部位,被遮罩中心覆蓋的像素都會被加入輸出區域。這會使該區域的面積減少。
- 擴張:凡是遮罩與輸入區域至少共享一個像素之處,被遮罩中心覆蓋的像素皆會被加入輸出區域。此舉將擴展該區域的範圍。
- 開頭:這是侵蝕與擴張的組合運算。擴張所使用的遮罩與侵蝕的遮罩相同,但旋轉了 180°。此運算會將區域內小於遮罩的結構移除。輸出區域的大小與形狀大致與先前相同。
- 收縮:這是擴張與侵蝕運算的組合。侵蝕運算所使用的遮罩與擴張運算的遮罩相同,但旋轉了 180°。此運算會填補或連接區域內小於遮罩的空隙。該區域的大小與形狀大致與先前相同。
- Fill:這會填滿該區域內的孔洞。此操作無需使用遮罩。
除了上述選項之外,您還可以執行區域分割。此操作會將區域的連通分量轉為獨立的區域。若勾選對應的核取方塊,系統將計算所有單一或多個輸入區域的連通分量。
連通分量是指所有像素皆具有直接相鄰像素(包含水平、垂直及對角方向)的區域。非連通的區域將會被分割成獨立的輸出區域。
您也可以在不進行任何形態學運算的情況下,直接對原始輸入區域執行區域分割。
資訊
若您在斑塊分析中使用區域形態學,可以將多個「Region Morphology 」vTool 串接起來,以便在最後計算出所需的輸出區域。
視斑點分析的目標而定,您可以將「Region Selection 」vTool作為一系列區域形態學操作中的中間步驟或最後步驟,藉此僅篩選出相關區域。
範例#
以下各節將透過範例圖像,說明各種形態學運算。
侵蝕與擴張#
以下圖片將向您展示如何連續使用兩種形態學運算(蝕蝕與膨脹),在保留物體原始形狀的同時,將相互接觸的物體分離。如此一來,便能正確地統計物體數量,並可進一步依據區域特徵進行檢測。
這是顯示白色藥片的輸入圖片:

這是已找出初步區域的影像,例如在進行顏色分類後:

執行「侵蝕」運算後,這些區域看起來如下所示:

最後,經過擴張運算後,藥片便被分開了。

開場與Fill#
開運算常被用來抑制小範圍區域(例如因影像雜訊或雜訊干擾所導致的區域),這些區域往往會導致分割結果不盡理想。換言之,開運算可透過使用適當的遮罩,過濾掉明顯較大的區域結構。
以下圖像顯示,透過使用直徑約為目標物體一半的圓形遮罩來開啟區域,即可偵測到電路板的定位標記。
區域填充是用作將環形轉化為實心圓形的 intermediate step。
這是一張顯示電路板的輸入圖片:

透過閾值處理,可在輸出區域中看到影像中的光學結構:

塗上填充劑後,環狀結構便被填滿:

最後,透過「開窗」運算,將消除所有小區域,僅保留定位標作為偵測到的區域:

閉運算 (Closing)#
「閉合」操作主要用於關閉區域內的縮進、填補空隙,或將個別區域段連接起來。
本範例以先前相同的電路板範例為基礎,展示如何將球柵陣列區域進行分段。起點是上圖所示、經閾值處理後呈現輕微結構的影像。
執行「閉合」運算,並使用一個足夠大的矩形遮罩,以填補球柵陣列中所有球體之間的間隙。

套用「開運算」來去除不需要的小區域。

最後,請使用「Region Selection 」vTool,根據其尺寸選取兩個球柵陣列區域。

常見應用情境#
- 使用圓形或矩形侵蝕來縮小區域
- 使用圓形或矩形擴張演算來擴展區域
- 利用「開啟」功能移除小型物件
- 利用「開運算」並搭配適當的遮罩形狀,過濾掉較大的物體
- 使用「填補」功能填補小孔或凹陷處
- 運用「Closing」來彌合地區間的差距
- 透過以下方式填補區域內的空隙:Fill
- 將區域的連通分量拆分為獨立的區域,以便計算區域的數量
設定 vTool#
要設定「Region Morphology 」vTool:

- 在vTool「設定」區域的「配方管理」窗格中,按一下「開啟設定」或雙擊該 vTool。
此時會開啟 Region Morphology 對話方塊隨即開啟。 - 在「形態學運算」區域中,請選擇您要執行的運算。
若您僅想分割區域而無需執行任何形態學運算,請選擇「關閉」。 - 在「遮罩形狀」區域中,請選擇遮罩的形狀與大小。
「侵蝕」、「擴蝕」、「閉合」及「開合」等運算均需使用遮罩。 - 在「區域分割」區塊中,請指定是否要將區域的連通成分分割成獨立的區域。
分割功能亦可直接套用至輸入影像,無需事先執行任何形態學運算。
您可以在引腳資料視圖中檢視形態學運算的結果。在此,您可以選擇要顯示哪些輸出。
Inputs#
Regions#
接受單一或多個區域。
- 資料類型:Region、Region Array
Outputs#
Regions#
回傳一個或多個已處理的區域。
- 資料類型:區域陣列
相關 vTool#
典型前置元件#
- Color Classifier vTool
- Auto Thresholding vTool
- Absolute Thresholding vTool
- Relative Thresholding vTool