1. 程式人生 > >影象形態學處理(3)

影象形態學處理(3)

2. 灰度級影象形態學

灰度級影象形態學適用於這兩種情形:應用希望保留影象灰度階、需要在二值化前做預處理以突出某些特徵

2.1 基礎操作

1)腐蝕

灰度級的結構元較二值結構元多了一個維度,根據結構元有沒有灰度變化(或者說在實際應用中考不考慮灰度變化),可以分為平坦結構元不平坦結構元

使用平坦結構元b在(x,y)處對f做腐蝕:

使用不平坦結構元b對f做腐蝕:

一般還是用的平坦結構元

可以看到,灰度形態學操作就是把二值形態學裡的交換成取最小,或換成取最大。而對0/1取最小或最大就等價於交和或,因此影象形態學處理(1)裡OpenCV的形態學公式能相容二值和灰度。

2)膨脹

使用平坦結構元b在(x,y)處對f做膨脹:


使用不平坦結構元b對f做膨脹:

3)開操作、閉操作

與二值操作一樣,開操作是先腐蝕後膨脹,閉操作是先膨脹後腐蝕


開操作會抑制比結構元小的亮細節;閉操作會抑制暗細節

2.2 基本的形態學演算法

1)形態學平滑

由於開操作和閉操作對亮細節和暗細節的抑制作用,對影象先後做開操作和閉操作會有效抑制細節,起到平滑作用

2)形態學梯度


3)頂帽、底帽變換

頂帽:

底帽:

主要應用是:用一個結構元通過開或閉操作從一幅影象中刪除物體

頂帽變換的一個重要用途是校正不均勻光照的影響


圖2-1. 頂帽變換校正不均勻光照

圖2-1左是不均勻光照下得到的,如果用這幅圖做二值化,底部暗區域很容易丟失目標;中圖是用半徑41的圓形結構元做開操作得到的,由於尺度足夠大,原圖沒有任何目標被命中,因此得到一個完全模糊的背景(但重要的是反映了光照的變化);右圖是用左圖減去中圖(頂帽變換)得到的,已經把光照影響去除了

4)粒度測定

利用了開操作的特性:某個尺寸的開操作會對包含了這個尺寸的區域產生最大的效果

(對應的,閉操作可以刪除尺寸小於結構元的黑色區域)


圖2-2. 粒度測定

考慮圖2-2,假設需要測定圖中木釘的尺寸。設定一個半徑從小到大的結構元序列,依次對其做開操作,並且統計影象總灰度值,計算相鄰灰度值的差,由於當結構元尺寸與木釘尺寸吻合時會產生一個區域性灰度高峰,因此比較不同尺寸的灰度差序列,選取高峰對應的尺寸就是木釘的大致尺寸

2.3 形態學重建

與二值影象類似,將與換成取最小,或換成取最大

標記影象f關於模板影象g的大小為n的測地膨脹,其中,^表示取最小

測地腐蝕、形態學重建的開、閉也與二值類似。

圖2-3是一個利用灰度形態學重建開等操作去除不規則背景的案例


圖2-3. 灰度形態學重建

圖2-3b為使用1*71的結構元對a做重建開操作,目的是選取到橫向長條形的反光;c圖是用21*1的結構元選取縱向反光;由於目標中有些區域如“SIN”的“I”也會在c中被選中,這樣a-c後“I”會丟失,因此在d中對a-c的結果做橫向膨脹(依據是“I”離其他目標很近),然後用這個結果和a-b取最小值得到結果e。

注:文章演算法及圖片素材取自岡薩雷斯《數字影象處理》

P.S. 一本關注影象形態學的書:崔屹-《影象處理與分析--數學形態學方法及應用》