二值形態學

2021-08-07 19:18:21 字數 2201 閱讀 9321

膨脹是使影象中的目標「生長」或「變粗」的過程。這種特殊的方法和生長程度由一種被稱為結構元的形狀來控制。結構元的原點必須被明確表明。

把結構元素b平移a後得到ba,若ba擊中x,我們記下這個a點。所有滿足上述條件的a點組成的集合稱做x被b膨脹的結果。用公式表示為:

d(x)==x⊕b

如圖6所示。圖6中x是被處理的物件,b是結構元素,不難知道,對於任意乙個在陰影部分的點a,ba擊中x,所以x被b膨脹的結果就是那個陰影部分。陰影部分包括x的所有範圍,就象x膨脹了一圈似的,這就是為什麼叫膨脹的原因。

同樣,如果b不是對稱的,x被b膨脹的結果和x被 bv膨脹的結果不同。

讓我們來看看實際上是怎樣進行膨脹運算的。在圖7中,左邊是被處理的圖象x(二值圖象,我們針對的是黑點),中間是結構元素b。膨脹的方法是,拿b的中心點(注意必須是中心)和x上的點及x周圍的點乙個乙個地對,如果b上有乙個點落在x的範圍內,則該點(中心點)就為黑;右邊是膨脹後的結果。可以看出,它包括x的所有範圍,就象x膨脹了一圈似的。

實際程式設計中可以通過腐蝕來達到膨脹的目的。

ac代表a的補集,-b表示b關於原點的對稱集。

把結構元素b平移a後得到ba,若ba包含於x,我們記下這個a點,所有滿足上述條件的a點組成的集合稱做x被b腐蝕(erosion)的結果。用公式表示為:

e(x)==x b

如圖1所示。

圖中x是被處理的物件,b是結構元素。不難知道,對於任意乙個在陰影部分的點a,ba 包含於x,所以x被b腐蝕的結果就是那個陰影部分。陰影部分在x的範圍之內,且比x小,就象x被剝掉了一層似的,這就是為什麼叫腐蝕的原因。

值得注意的是,上面的b是對稱的,即b的對稱集bv=b,所以x被b腐蝕的結果和x被 bv腐蝕的結果是一樣的。如果b不是對稱的,讓我們看下圖2,就會發現x被b腐蝕的結果和x被 bv腐蝕的結果不同。

圖1和圖2都是示意圖,讓我們來看看實際上是怎樣進行腐蝕運算的。

在圖3中,左邊是被處理的圖象x(二值圖象,我們針對的是黑點),中間是結構元素b,那個標有origin的點是中心點,即當前處理元素的位置,我們在介紹模板操作時也有過類似的概念。腐蝕的方法是,拿b的中心點和x上的點乙個乙個地對比,如果b上的所有點都在x的範圍內,則該點保留,否則將該點去掉;右邊是腐蝕後的結果。可以看出,它仍在原來x的範圍內,且比x包含的點要少,就象x被腐蝕掉了一層。

假定a為輸入影象,b為結構元素,利用b對a做開運算,用符號 表示,定義為:

所以,開運算實際上是a先被b腐蝕,然後再被b膨脹的結果。開運算通常來消除小物件物、在纖細點處分離物體、平滑較大邊界的同時並不明顯改變其體積。

從圖可以看出,開運算具有兩個顯著的作用:

·利用圓盤可以磨光舉行內邊緣

·用閉運算是開運算的對偶運算,定義為先做膨脹再做腐蝕。

閉運算通常用來填充目標內的細小空洞、連線斷開的近鄰目標、平滑其邊界的同時並不明顯改變其面積。用下圖描述閉運算的過程及結果。顯然,用閉運算對影象的外部做濾波,僅僅磨光了凸向影象內部的邊角。

二值開運算和閉運算的效果圖如下:

開運算作用:平滑輪廓;斷開細的連線部分;去掉細的突出;去除比結構元小的孤立物。

閉運算作用:平滑輪廓;鏈結窄的斷裂;填滿比結構元小的空。

二值形態學 腐蝕

把結構元素b平移 a後得到 ba,若 ba包含於 x,我們記下這個 a點,所有滿足上述條件的 a點組成的集合稱做x被 b腐蝕 erosion 的結果。用公式表示為 e x x b,如圖 1所示。圖1腐蝕的示意圖 圖1中x 是被處理的物件,b是結構元素。不難知道,對於任意乙個在陰影部分的點a,ba包含...

二值形態學 膨脹,腐蝕

最近在做乙個motion detection的課題,在課題中提取的運動物體往往由離散的點組成,如果要用連通分量的計算方法提取每個運動物體的輪廓不太容易,為此要將由離散點組成的影象進行膨脹,腐蝕運算。膨脹 dilation 考慮兩幅二值影象a,b。它們的前景用黑色,背景用白色。另fa和fb表示各自前景...

二值形態學 膨脹,腐蝕

最近在做乙個motion detection的課題,在課題中提取的運動物體往往由離散的點組成,如果要用連通分量的計算方法提取每個運動物體的輪廓不太容易,為此要將由離散點組成的影象進行膨脹,腐蝕運算。膨脹 dilation 考慮兩幅二值影象a,b。它們的前景用黑色,背景用白色。另fa和fb表示各自前景...