【影象處理】基本形態學操作
阿新 • • 發佈:2019-01-27
這裡涉及到的形態學操作,基本都是用模板對全圖進行卷積,操作簡單,是初級的影象處理。共識的集合處理符合這裡不多寫了。下面是定義:
- A是影象子集,A的補集寫為
Ac . - 集合B的反射A是一種對稱,寫為
A^={w|w=−b,b∈B} - 集合A的平移表示為
(A)z={w|w=a+z,a∈A} - 膨脹:A被B膨脹寫為
A⊕B={z|(B^)z∩A≠∅} ,如果是灰度影象則表示為(f⊕b)(s,t)=max{f(s−x,t−y)+b(x,y)|(s−x,t−y)∈Df;(x,y)∈Db} ,注意這裡B是模板,要執行原點翻轉操作後再在A圖範圍內平移。平移的位置z,如果符合上述條件,就設畫素為1。 - 腐蝕:操作為
A⊖B 如果是灰度影象則表示為(f⊕b)(s,t)=min{f(s+x,t+y)−b(x,y)|(s+x,t+y)∈Df;(x,y)∈Db} ,這裡B不執行原點翻轉操作,目的是為了讓腐蝕和膨脹操作成為對偶操作:(A⊖B)c=Ac⊕B^ . - 開操作:表示為
A∘B=(A⊖B)⊕B ,先腐蝕後膨脹,可以光滑輪廓,斷開狹窄的間斷和消除細的突出物 - 閉操作:表示為
A⋅B=(A⊕B)⊖B ,先膨脹後腐蝕,可以光滑輪廓,消彌狹窄的間斷和長細的鴻溝,消除小的空洞,並填補輪廓線中的斷裂。開操作和閉操作是對偶關係:(A⋅B)c=(Ac∘B^) - 擊中變換:是一種簡單的檢測形狀的方法,屬於模板匹配,表示為
A⊗B ,其中A是形狀集合,B表示X和X的背景(其實就是找X),X是待檢測的形狀,W是包圍X的一個小視窗但不一定是全圖。 - 邊界提取:先腐蝕一次A,A的輪廓就被去掉了,然後前後相減就得到A的邊界:
β(A)=A−(A⊖B) - 填充空心區域:從空心區域A內部的一個點P出發進行迭代膨脹操作,表示為
Xk=(Xk−1⊕B)∩Ac ,其中B是膨脹模板,X0 就是P,從P出發進行膨脹,然後與A的補集相交部分就是A的內部,這樣保證不會重複填充A區域。由於P必須位於A內部,P的膨脹部分也不會越過A的邊界,因此不會填充A外圍。 - 提取聯通分量:設P是A的一個點,那麼執行迭代膨脹操作
Xk=(Xk−1⊕ ,其中B是膨脹模板,X0 就是P,與A相交保證膨脹部分始終是A的分量。 - 求取凹集合A的凸殼。凸形指內部任意兩個點的直線段都在其內部的圖形,有重要研究使用價值。集合A的凸殼H是包含A的最小凸形集合,H-S稱為S的凸缺。用多個不同模板
Bi ,執行迭代擊中變換Xik=(Xk−1⊗Bi)∈A;H(A)=∪Xiconv - 細化:
A∩(A⊗B)c ,其中B是多個不同的模板,稱為結構元素,我們需要用B來多次擊中A直到收斂。細化相比腐蝕,需要儘可能保留形狀。 - 粗化:是細化的對偶過程,寫為
A∪(A⊗B) - 骨架提取:令
Sk(A)=(A⊖kB)−(A⊖kB)∘B ,k表示要執行k次操作,直到被腐蝕為空集之前的一次。骨架為S(A)=∪Sk(A) ,即所有骨架子集的並集。 - 頂帽操作(top-hat):
h=f−(f∘b) 用於灰度圖處理,用於增強陰影細節。