【影像處理】形態學Morphology

文章推薦指數: 80 %
投票人數:10人

在數學上講的數學形態學(Mathematical Morphology) 是一門建立在「格論」和「拓撲學」 ... 所以這個動作在中文有人把它稱做「增胖」或者「膨脹」。

JasonChen'sBlog Home About Press Contact Home About Press Contact 【影像處理】形態學 Morphology 1/16/2019 4評論   一、什麼是形態學What'sMorphology? 在數學上講的數學形態學(MathematicalMorphology)是一門建立在「格論」和「拓撲學」基礎之上的圖像分析學科,也就是我們今天要拿來做影像處理部分的基本理論。

Morphology這項工具在影像處理裡面可以說是非常的強大!到目前為止介紹過的影像處理方法裡面,你幾乎都能找到其他的方法來取代去做到類似的效果,像是如果想要FindEdge你可以在Spatialdomain做或者到Frequencydomain做。

但唯獨Morphology的東西你在某些case上,你不用Morphology還真的想不到什麼好的方法來做這件事。

像是可以用在:​ 邊界抽取 區域填充 凸形輪廓 細線化 粗線化 找骨架 剪枝 形態濾波 形態梯度 高帽轉換 顆粒量測 紋理分割 ... ​可以說是非常的實用、泛用,然後在正式開始使用之前,還是要能看懂它數學式子想表達的意思。

不知道大家對高中/職時期學的集合論還記得多少啊>"< 接下來會在數學式中出現的大概有,聯集(OR)、交集(AND)、補集(NOT),順便在這邊幫各位複習一下。

AND、OR、NOT,其真值表如下: 用集合的圖形表示如下: 一般來說,除非有特別宣告,不然Morphology是用於處理Binary(二元)的影像。

另外可能還有一個我們需要知道的定義,叫做Reflection(鏡射),其定義如下: 原來的 藍色集合 在做完reflection以後,就會變成 紅色集合 的那個樣子。

二、侵蝕與膨脹ErosionandDilation Ok,在了解完前面介紹的那些之後,我們就可以來講Morphology裡最基礎的兩個動作Dilation跟Erosion。

Dilation的定義如下: 在實作上你可以理解成: A是你的Target(你要對它做Dilation); B一般我們稱做StructuresElement,你也能把理解成Dilation做用在每一點的指針形狀大小。

等式右半邊應該不難理解,意思是把B做reflection後在集合裡面任意移動跟A不是空集合的部分做AND。

Erosion的定義如下: 這部分的公式,理解的方式跟Dilation那部分式一樣的,只差在最後的條件是B要整個包含在A裡面。

從上面連續幾張圖下來,我想你大概也有個概念了。

你的目標(A)在被你用StructuresElement(B)做完Dilation之後,目標就會變大了!所以這個動作在中文有人把它稱做「增胖」或者「膨脹」。

而Target在做完Erosion後就縮小了,這個動作也可稱做「侵蝕」。

最終Target會被你侵蝕/膨脹的程度是怎麼樣的則取決於你所設計StructuresElement的大小與形狀,雖然常用的多為m*m或m*n的矩形,但它是可以被設計成其他幾何圖形的!完全取決於你今天的需求。

三、開啟與關閉OpeningandClosing 在介紹完Dilation跟Erosion後就輕鬆啦~因為接下來Morphology其他大部分的方法都是靠Dilation跟Erosion用不同的排列組合去變形,像是接下來要介紹的「開啟運算Opening」 跟「關閉運算Closing」。

開啟運算Opening: 其實Opening說穿了,就是先做Erosion再做Dilation。

其作用等同是你拿StructuresElement在Target的內部任意移動,StructuresElement如果到不了的地方就會被消除掉,可以將圖形凸出的銳角給鈍化。

關閉運算Closing: 接著把Closing拿來跟Opening比你會發現,其實就是反過來做而已。

變成先Dilation再Erosion,等同你拿StructuresElement在Target的外部移動,進不去的地方就把它填滿,可以將圖形內陷的銳角給鈍化。

再來用一張圖,稍微總結一下剛剛介紹的四種Morphology運算: 四、形態學濾波MorphologyFiltering 就像我在這篇文章最開始的地方講的,Morphology的應用有很多,不太可能在這篇文章把它們都講完,所以在這邊Jason就先提個簡單的,讓你們了解一下它有什麼用、它是怎麼用的。

至於其他的應用,有機會的話往後再多寫幾篇文張將這一方面補上。

回到今天範例,形態學濾波。

可以看到上圖左一裡面有大大小小不同的方點(有1*1、3*3、5*5、7*7、9*9、15*15等6種尺寸),今天我們希望把15*15的方點留下,其他的東西我們不想要是雜訊、雜點要將它給濾掉。

如果前面講的你都懂了,那麼這邊你大概就知道,我們只要設計一個11*11or13*13or15*15的StructuresElement去跟它做Erosion這個部份我們就做完了,結果會長的像上圖左二。

利用Erosion的原理,小於StructuresElement的方點會直接被侵蝕到不見,以13*13的 StructuresElement我們想要留下的Target會被侵蝕到變成3*3的方點(11*11->5*5、15*15->1*1),這樣我們就達到我們的目的,將不必要的東西給去除,但是最終我們不希望改變Target的原始大小,這時我們再用同一個StructuresElement去做Dilation將Target增胖回原來的尺寸,如上圖右一。

​ Ok,今天這篇就先寫到這邊吧~ 感謝各位看官收看:") ​ 4評論 jimsong729 2/19/202022:06:54 謝謝您,很好的文章.幫助我恢復了以前學影像處理的記憶,謝謝 回覆 Gordon 11/30/202023:50:51 反射的英文應該為Reflection,Refection是點心、茶點的意思,是refreshment的同義詞。

回覆 JasonChen 12/1/202002:32:38 哇~真的欸,你看的真仔細,你沒說我還沒發現xDD 感謝指正,已對內文進行修正。

回覆 Gordon 12/2/202000:17:25 感謝您xD 發表回覆。

JasonChen 如果說懷才就像懷孕,時間久了才能讓人看出來。

那麼還有另一個相似的點就是..在開花結果之前,都要先給人幹到不要不要的Q_Q 文章分類 全部 介紹 分享 加密貨幣Cryptocurrency 影像處理DIP 教學 消息 演算法Algorithm 物聯網IoT 資料科學DataScience 遊戲Game 閒聊 封存檔 三月2022 八月2021 七月2021 六月2021 五月2021 四月2021 三月2021 二月2021 一月2021 十二月2020 十一月2020 十月2020 九月2020 八月2020 七月2020 四月2020 三月2020 二月2020 一月2020 十二月2019 十一月2019 十月2019 九月2019 八月2019 七月2019 六月2019 五月2019 四月2019 三月2019 二月2019 一月2019 十二月2018 十一月2018 十月2018 九月2018 八月2018 七月2018 六月2018 五月2018 四月2018 三月2018 二月2018 一月2018 十二月2017 十一月2017 十月2017 RSS訂閱 提供者 使用自訂式範本建立您的專屬獨特網站。

開始吧



請為這篇文章評分?