形態學操作其實就是改變物體的形狀,比如腐蝕就是”變瘦”,膨脹就是”變胖”,看下圖就明白了:
形態學操作一般作用於二值化圖,來連接相鄰的元素或分離成獨立的元素。腐蝕和膨脹是針對圖片中的白色部分!
膨脹
膨脹就是求局部最大值的操作。
按數學方面來說,膨脹或者腐蝕操作就是將圖像(或圖像的一部分區域,我們稱之爲A)與核(我們稱之爲B)進行卷積。
核可以是任何的形狀和大小,它擁有一個單獨定義出來的參考點,我們稱其爲錨點(anchorpoint)。多數情況下,核是一個小的中間帶有參考點和實心正方形或者圓盤,其實,我們可以把核視爲模板或者掩碼。
而膨脹就是求局部最大值的操作,核B與圖形卷積,即計算核B覆蓋的區域的像素點的最大值,並把這個最大值賦值給參考點指定的像素。這樣就會使圖像中的高亮區域逐漸增長。如下圖所示,這就是膨脹操作的初衷。
右圖比左圖大一圈
膨脹可以簡單理解爲將B與A接觸的所有背景點合併到A中的過程。
腐蝕
與膨脹相反,腐蝕就是求局部最小值的操作。
右圖比左圖小一圈
腐蝕可以理解爲B的中心(錨點)沿着A的內邊界走了一圈。腐蝕也是對高亮部分而言,A區域之外的部分 < A的高亮像素,所裏裏面被外面取代。A中能完全包含B的像素被留下來了。
腐蝕可以簡單理解爲消除物體A所有邊界點的過程。
開運算
閉運算
如果還是不太理解開運算和閉運算,請看下圖
參考資料:
【OpenCV入門教程之十】 形態學圖像處理(一): 膨脹與腐蝕
Python+OpenCV教程12:腐蝕與膨脹
形態學腐蝕與膨脹
形態學圖像處理(一)