Blob 分析會擷取所偵測物件的特徵。不提供物件本身的影像。Blob 分析運算子提供最常見物件特徵的計算,這些特徵使用幾何與統計方法來描述物件。相應地,這些特徵
- 面積
- 邊界方框
- 重心
- 輪廓長度
將在後文中進行全面定義。
影像中的每個物件都可以透過物件中所包含的所有前景像素座標清單來描述
。
因此,該物件或其區域 R 可以描述為
物件的面積是該物件的像素數量,亦即區域 R 的大小。
換句話說:物件的面積是其所有像素的總和。此特徵通常用於區分不同大小的物件。
區域 R 的邊界框 (Bounding Box) 是剛好包覆物件的最小對軸矩陣。這是一個簡單但非常實用的特徵,可用於描述物件在影像中的位置。
此特徵為每個物件提供四個值,在 VisualApplets 中描述為
此特徵對於 'BlobDetector1D' 和 'Blob_Analysis_1D' 運算子而言有所不同,因為無法給出物件的絕對座標。
重心 (Center of Gravity) 分別在 x 和 y 方向計算,是物件所有絕對座標的總和。每個物件的原點是影像的左上角。
和
重心值未經過常態化處理。在 blob 分析之後,需要將其除以物件面積。若要執行此除法運算,請使用 arithmetics 庫中的 DIV 運算子。或者,您也可以在主機 PC 上計算除法。
和
此特徵對於 'BlobDetector1D' 和 'Blob_Analysis_1D' 運算子而言有所不同,因為無法給出物件的絕對座標。
此特徵由物件所有輪廓的長度定義。其中包含外緣和內緣 (後者由孔洞引起)。
![]() |
此特徵僅適用於舊版運算子 Blob_Analysis_1D 與 Blob_Analysis_2D |
|---|---|
|
此特徵僅適用於舊版運算子 'Blob_Analysis_1D' 和 'Blob_Analysis_2D',不適用於運算子 'BlobDetector1D' 和 'BlobDetector2D'。 |
Contour Length 區分 4 連通鄰域與 8 連通鄰域。如果 blob 分析運算子設定為使用 4 連通鄰域偵測物件,則輪廓長度僅透過在正交方向掃描物件邊緣來決定。如果 blob 分析運算子設定為 8 連通鄰域,則輪廓長度也會考慮對角連接的物件邊緣。因此,根據運算子的鄰域設定,該特徵會提供兩個不同的結果。
下方的兩張圖說明瞭差異。兩張圖都顯示包含單一物件的影像。
在上圖中,使用 4 連通鄰域偵測物件。對於此物件,輪廓長度將位於物件邊緣的所有像素加總。僅考慮水平和垂直像素連接。因此,該物件產生的輪廓長度為 30x 正交長度。
在下圖中,blob 分析使用 8 連通鄰域。輪廓長度也考慮對角邊緣。該物件產生的輪廓長度為 14x 正交長度 + 8x 對角長度。
結果在輪廓長度上有所不同。
對角連接兩個相鄰像素的邊緣具有輪廓長度
其代表等腰三角形的斜邊。此平方根運算不由 blob 分析運算子執行。請確保在設計中隨後執行此操作。總輪廓長度可以透過以下方式獲得
輪廓長度的對角分量對於邊緣不與影像邊緣平行的物件非常重要。
例如,半徑為 5.5 像素的圓形其周長將為
。下方的圖顯示了這個圓形。在左側圖中,周長是使用 8 連通鄰域計算的。在右側圖中,周長是使用 4 連通鄰域計算的。範例顯示,使用 8 連通鄰域計算的結果 (32.97) 接近理論結果 (34.56),而使用 4 連通鄰域計算的結果 (40) 則相當差——它等於具有相同直徑的矩形的周長。

![[備註]](../common/images/admon/note.png)



上一頁

