形態學開操作運算元 集合和形態學演算法

2021-10-14 16:48:17 字數 1179 閱讀 1714

我們先看乙個集合關係,如下:

假設這裡的a是乙個二值影象,s是乙個3x3的小影象,我們稱為形態學結構運算元,這裡a和s進行某種邏輯關係運算,結果就是乙個集合,這個集合是和a相同尺寸的影象,其中的每個值由z決定,如何決定呢?我們用s在a中進行平移操作,每移動一次,我們就執行乙個邏輯運算,也就是看看這個s和a之間的關係,如果這個s完全沉浸在a之中,也就是集合的「屬於」關係,我們就將z設定為1,否則就將z設定為0。s在a中平移完之後,新集合也就產生了。

這個處理過程,就是影象形態學演算法中的腐蝕操作。

我們先看其中關鍵的「邏輯」,就是「屬於」。再看集合,s代表的小集合在a這個大集合之間不斷進行互動,從而決定新集合每乙個對應位置的z。我們將集合和邏輯這兩個概念引入影象處理之後,就可以用形態學對影象進行分析。

同樣的結構運算元,對於不同的邏輯處理,結果是不同。對應於腐蝕,我們還有膨脹處理,集合關係如下:

這裡的邏輯關係就是,當s在a中平移時,我們先對s進行反射操作(關於s原點的對稱操作),如下圖:

假設上面左圖是s,右圖就是s的反射。我們將s反射記為s1,然後將s1和a進行或操作,如果結果不為空的話,我們就將z設定為1,否則就將z設定為0。

可見,這個集合關係是決定形態學演算法最基礎的部分。下一步,我們深入分析下這個邏輯關係。以腐蝕為例,這個邏輯關係的目的是為了通過一定的方式剔除畫素,使得二值影象變薄一些,使得空心處越來越大,通過「削邊」操作達到使形態變化的目的。

集合知識是我們在高等數學中的基礎知識,我們看到,如果將集合知識運用到影象領域,就可以用形態學的知識來解決影象演算法中的一些問題。我們如果希望能夠靈活應用影象形態學演算法,就需要深刻理解集合的基礎知識。在膨脹和腐蝕的基礎上,可以有更複雜的形態學演算法,比如開、閉運算,比如頂帽和黑帽,本質也是集合知識的進一步相互組合。

學習影象演算法,本質上就是學習數學,學習數學中的一些基礎知識,並將這些基礎知識應用到影象這個具體應用上去。如果能夠從更底層和更本質的思路去研究演算法,就可以達到事半功倍的效果,遇到問題的時候,也會有更多的思路。

形態學運算元

形態學運算元的主要思想是用一定形狀的結構元素 在影象中抽取出相應的某些結構,通常可以用於影象的濾波 分割 分類等處理。形態學運算元有腐蝕 膨脹 開和閉四種。腐蝕腐蝕是一種消除邊界點,使邊界向內部收縮的過程。可以用來消除小且無意義的物體。腐蝕的演算法 用3x3的結構元素,掃瞄影象的每乙個畫素 用結構元...

形態學操作

對原影象進行先腐蝕後膨脹。用白色背景黑色前景的來說,對影象先進行腐蝕,小區域的白色將被消除,然後在膨脹,使得除了消除掉的部分還原為原來的樣子 主要用途 用來消除高畫素值的小塊 對原影象進行先膨脹後腐蝕。還是利用白色背景黑色前景的來說,對影象先進行膨脹,小區域的黑色將被消除,然後再進行腐蝕,使得除了消...

形態學操作

簡介 連通域 簡介 結構元素 mat cv getstructuringelement shape,ksize 實現 opencv提供了用於影象腐蝕的erode 函式 void cv erode src,dst,kernel,anchor,iterations 示例 include include ...