岡薩雷斯《數字圖像處理》讀書筆記(九)——形態學圖像處理

形態學來自於生物學,研究動植物的形態和結構。運用在圖像中可提取如邊界、骨架和凸殼。初學形態學都是在二值化的圖像上研究,之後可以擴展到灰度圖像。

膨脹和腐蝕

數學形態學與集合論分不開,因爲形態學中的操作是基於兩個集合的,一個是待處理的像素集合,一個我們叫做結構元SE。SE的形狀有多種,原點也有多種,但一般是重心,原點在腐蝕erode和膨脹dilate中表示當前要處理的像素點。像卷積一樣,結構元會在圖像上遍歷,所以我們要對集合A填充,使得結構元的原點在A的邊界時,結構元的整體都不會落在圖像之外。到現在我們已經知道了形態學基本操作(腐蝕和膨脹)是基本流程和卷積類似,就是利用一個核對像素遍歷。卷積是計算卷積核中對應像素乘積之和。腐蝕和膨脹則是基於兩個集合的關係。

腐蝕運算的當前像素的結果是兩個集合做邏輯與運算,如果SE所佔區域和A的一部分是完全重合的,即SE完全屬於集合A,那麼這一點就取集合A內的值。腐蝕其實是擊中擊不中變換的簡化。擊中擊不中變換可用於檢測圖像中目標形狀的原點位置,使用的前提條件是圖像中的物體之間是斷開的,即每個物體被至少一個像素寬的背景像素所環繞。對A和A的補集分別利用D和W-D進行腐蝕,腐蝕結果的交集就是目標的原點。D就是目標,W-D代表與背景相聯繫的集合。

膨脹是兩個集合做或運算,只要部分重合,就把當前像素設置爲集合A中的值。膨脹的最簡單應用之一是橋接裂縫。而膨脹在連接處細於結構元時會斷開。膨脹的一個應用是條件膨脹,可用於孔洞填充,如圖像中有一些球體,但是球體中有反光,利用孔洞填充可以消除反光。具體方法是在邊界內找到初始點,利用結果元進行迭代,一次迭代是膨脹後與A的補集求交集,交集的目的是尋找背景點。當膨脹之後與A取交集,這時候取的是前景點,可以用於連通分量的提取。

注意我們描述待處理圖像A和結構元都是把他們當做集合,膨脹和腐蝕的具體運算也是兩個集合之間的關係進行運算,得到的結果也是當做一個集合進行描述。結果的集合是結構元在圖中遍歷中的所有結果的集合,具體遍歷的方式在腐蝕中表現爲平移z,在膨脹中表現爲結構元的反射(中心對稱)的z平移。

還需要注意的是對一幅圖(先考慮二值圖)中哪些是集合A,我的理解是這個要具體問題具體分析,當結構元元素是白色時,處理的就是圖像中的白色區域。

開運算和閉運算

開操作,先腐蝕後膨脹。一個幾何解釋是開運算是結構元B在A的內側滾動時所能達覆蓋的最大面積。從公式可以看出開運算和腐蝕都是平移後進行條件判斷,判斷條件是平移之後完全屬於集合A,但是結果的操作對象取的不再是結構元的原點,而是平移之後的結構元整體。因爲結構體是在A內部平移遍歷的,且取的是結構元所能覆蓋的面積的最大值,這使得開操作有一個性質:開操作之後的集合是A的子集。開操作同時會斷開一些窄的連接和細的突出,可用於消除椒鹽噪聲。

閉操作和開操作的彼此對偶的。

結構元B對A的閉操作可以看作B的反射對A的補集的開操作,得到的結果再取補集。性質同樣對偶,A是閉操作結果的子集。

形態學還可以用於獲得集合A的凸殼C(A)。如果A內任意兩個點的連線都在A的內部,那麼A就是凸集(凸形)。凸殼是包含於A的最小凸集。獲得凸集的方法依然是迭代,使用多個結構體對A做擊中擊不中變換,執行與A的並集,得到的結果再取並集。

根據擊中擊不中變換,還可以達到細化和粗化。

可以用連續腐蝕和開操作得到骨架。

細化和骨架算法會保留一些寄生分量,因而需要用後處理來消除這些寄生分量。

形態學重建,設計兩幅圖像和結構元,一幅圖像用於標記變換的起始點,一幅圖像是模板,用於約束該變換。在形態學重建中,核心是測地膨脹和測地腐蝕。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章