1. 程式人生 > 實用技巧 >數字影象處理day_11 影象形態學

數字影象處理day_11 影象形態學

一. 數學形態學概述

數學形態學是分析幾何形狀和結構的數學方法,它建立在幾何代數的基礎上,使用集合論方法定量描述目標幾何結構的學科,具有完備的數學基礎。(注意:以下介紹二值影象,取深1、淺0。)

基本思想:用具有一定形態的結構元素去度量和提取影象中的對應形狀以達到對影象分析和識別的目的

結構元定義:設有兩幅影象B,A。若A是被處理物件,B用來處理A則稱B為結構元SE(Structure Element)。結構元可定義為研究一幅影象中感興趣特性所用的小集合或子影象,通常都是一些比較小的影象。

結構元在每個畫素位置上與二值影象對應的區域進行特定的邏輯運算,邏輯運算的結果為輸出影象的對應畫素值。形態學運算的效果取決於結構元的大小、內容以及邏輯運算的性質

結構元素類似於卷積中的卷積核。但是在卷積中,預設原點在卷積核的中心位置,在SE中不一定在中心位置,可以自己定義,所以數學形態學的操作具有方向性

二. 腐蝕和膨脹

1. 腐蝕(Erosion)——使影象縮小

作為Z^{2}中的集合A用B來腐蝕寫作AA\ominus B={z|(B_{z}\sqsubseteq A)},表示B移動後完全包含在A中時,B的原點位置的集合

腐蝕步驟:

  • SE核可以用一個二值矩陣表示,還需要定義一個原點,標識核的核心。
  • 對腐蝕操作,SE核的原心遍歷原影象的每一個畫素點,然後取當前SE中所有1的位置所覆蓋下原圖中對應的畫素中的最小值,用這個最小值替換當前畫素值。由於二值影象最小值就是0,所以如果有0存在,就用0代替原點
  • 只有SE位於前景物體邊緣時,它覆蓋的區域才會同時出現0和1兩種不同的畫素值,這時把當前畫素替換成0。因此服飾看起來的效果就是讓前景物體縮小了一圈,是的邊界向內收斂。對於前景物體中一些細小的連線處,這些連線處可能會斷開。
  • 腐蝕操作會縮小前景區域,去除前景噪點,斷開前景細線連線,使前景區域向內收縮

2. 膨脹(Dilation)——使影象擴大

A用BA\oplus B={z|(\hat{B})_{z}\bigcap A\neq \phi},即B的反射進行平移與A的交集不能為空

膨脹步驟:

  • SE核用一個二值矩陣表示,定義一個原點,表示核的核心
  • SE核的原點遍歷原影象的每一個畫素點,然後取當前SE中所有1的位置覆蓋下原圖中對應的畫素的最大值,用這個最大值代替當前畫素值。由於二值影象最大值就是1,所以如果有1的存在,就用1替換原點
  • 只有SE位於前景物體邊緣時,它覆蓋的區域內才會同時出現0和1兩種不同的畫素值,這時把當前畫素替換成1.因此膨脹看起來的效果就是讓前景物體膨脹了一圈,使得邊界向外擴散。對於前景物體中一些細小的斷裂處,這些斷裂的地方可能會被連線起來。
  • 膨脹操作使前景邊界向外擴充套件,會增大前景區域。也可能會連線不同前景區域,填補前景中的空洞,去除噪點。

3. 對偶性

腐蝕和膨脹的不足:改變了原目標物的大小

膨脹與腐蝕彼此間關於集合求補運算和反射運算是對偶的,即:

(A\ominus B)^{C}=A^{C}\oplus \hat{B}(A\oplus B)^{C}=A^{C}\ominus \hat{B}

可見,B對A的腐蝕是\hat{B}A^{C}的膨脹的補。當結構元關於其原點對稱時,\hat{B}=B,因此,可以使用B膨脹影象背景(A^{C}),然後對結構求補,即可得到B對A的腐蝕

三. 開操作和閉操作(A^{C})

1. 開操作

B對A進行開操作就是先用B對A腐蝕,然後用B對結果進行膨脹,表示為A\circ B

A\circ B=(A\ominus B)\oplus B

即B在A的邊界內移動時,B中的點所能達到的A的邊界內的最遠點。所以,開操作又可以表示為:

A\circ B=\bigcup {(B)_{z}|(B)_{z}\sqsubseteq A}

作用:

  • 使輪廓平滑,抑制物體邊界的小離散點和尖峰,在研究物體的形態分佈時常用
  • 用來消除小物體、在纖細點處分離物體
  • A的兩個主要部分之間的連線被去掉了。連線的寬度小於結構元素的直徑;也就是結構元素不能完全包含於集合A的這一部分。由於同樣的原因A的最右邊的部分也被切除了
  • 平滑較大物體的邊界的同時並不明顯改變其面積

2. 閉操作

B對A進行閉操作就是先用B對A膨脹,然後用B對結果進行腐蝕,表示為A\cdot B

A\cdot B=(A\oplus B)\ominus B

即B在A的邊界內移動時,B中的點所能達到的A的邊界內的最遠點。所以,開操作又可以表示為:

A\cdot B=\bigcup {(B)_{z}|(B)_{z}\bigcap A\neq \phi }

作用:

  • 用來填充物體內細小空洞、連線鄰近物體
  • 平滑其邊界的同時並不明顯改變其面積