形態學濾波 腐蝕與膨脹

2021-12-30 05:23:50 字數 1709 閱讀 6459

形態學操作就是基於形狀的一系列影象處理操作。最基本的形態學操作有兩種:膨脹和腐蝕。這裡需要注意的是:膨脹和腐蝕是對白色部分而言的,不是黑色部分。(因為我用毛筆字的,剛開始看起來,非常困惑為什麼膨脹之後,毛筆字反而變小了,其實當時就是沒有注意到,膨脹是對白色區域進行處理的,而白色區域增加了之後,字型就自然變小了,哈哈)就是用乙個特定的結構元素來與待處理影象按畫素做邏輯操作;可以理解成拿乙個帶孔的網格板(結構元素矩陣中元素為1的為孔)蓋住影象的某一部分,然後按照各種不同的觀察方式來確定操作型別。

比如:腐蝕操作就是拿這個結構元素的中心位置(假設參與邏輯計算的元素對應與二維矩陣中元素為1的點,即網格板上的孔),在影象上移動時,如果透過所有的孔都能看到底下的影象,那麼這個中心點處的影象就保留,否則去除。

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

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

*可以看做是腐蝕的對偶運算,其定義是:把結構元素b平移a後得到ba,若ba擊中x,我們記下這個a點。所有滿足上述條件的a點組成的集合稱做x被b膨脹的結果。用公式表示為:d(x)==x b,如圖6.13所示。圖6.13中x是被處理的物件,b是結構元素,不難知道,對於任意乙個在陰影部分的點a,ba擊中x,所以x被b膨脹的結果就是那個陰影部分。陰影部分包括x的所有範圍,就象x膨脹了一圈似的,這就是為什麼叫膨脹的原因。原理圖如下:

說明:左邊是被處理的圖象x(二值圖象,我們針對的是黑點),中間是結構元素b。膨脹的方法是,拿b的中心點和x上的點及x周圍的點乙個乙個地對,如果b上有乙個點落在x的範圍內,則該點就為黑;右邊是膨脹後的結果。可以看出,它包括x的所有範圍,就象x膨脹了一圈似的。#include

#include

#include

using namespace cv;

using namespace std;

int main()

效果圖:

opencv3 6 3形態學濾波 腐蝕 膨脹

數學形態 mathematical morpgology 這兩個操作針對的是對影象的高亮部分,而不是黑色部分 dilate 求區域性最大值的操作,膨脹或腐蝕操作從數學來講就是將影象與核進行卷積。核b與卷積,b覆蓋區域中畫素點最大值賦給a目標點,是影象中高亮區域逐漸增長。erode與膨脹是相反的操作,...

二值形態學 膨脹,腐蝕

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

二值形態學 膨脹,腐蝕

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