1. 程式人生 > 其它 >Matlab-形態學運算

Matlab-形態學運算

形態學是基於形狀處理影象的一組廣泛的影象處理運算。在形態學運算中,影象中的每個畫素都基於其鄰域中其他畫素的值進行調整。通過選擇鄰域的大小和形狀,可以構造對輸入影象中的特定形狀敏感的形態學運算。

 

建立形態學結構元素:strel

SE = strel(nhood) 建立一個具有指定鄰域 nhood 的平面結構元素。

 

SE = strel('diamond', r) 建立一個菱形結構元素,其中 r 指定從結構元素原點到菱形各點的距離。

 

SE = strel('disk', r, n) 建立一個盤形結構元素,其中 r 指定半徑,n 指定用於逼近盤形的線條結構元素的數量。

 

SE = strel('octagon', r) 建立一個八邊形結構元素,其中 r 指定從結構元素原點到八邊形邊的距離,沿水平和垂直軸測量。r 必須為 3 的非負倍數。

 

SE = strel('line', len, deg) 建立一個關於鄰域中心對稱的線性結構元素,長度約為 len,角度約為 deg。

 

SE = strel('rectangle', [m n]) 建立一個大小為 [m n] 的矩形結構元素。

 

SE = strel('square', w) 建立一個寬度為 w 個畫素的正方形結構元素。

 

SE = strel('cube', w) 建立一個寬度為 w 個畫素的三維立方體結構元素。

 

SE = strel('cuboid', [m n p]) 建立一個大小為 [m n p] 的三維立方體結構元素。

 

SE = strel('sphere', r) 建立一個半徑為 r 個畫素的三維球面結構元素。

 

腐蝕運算:imerode

J = imerode(I, SE) 使用結構元素 SE 腐蝕灰度、二值或壓縮二值影象 I。

 

J = imerode(I, nhood) 腐蝕影象 I,其中 nhood 是由指定結構元素鄰域的 0 和 1 組成的矩陣。

此語法等效於 imerode(I, strel(nhood))。

 

J = imerode(___, packopt, m) 指定輸入影象 I 是否為壓縮二值影象。m 指定原始未壓縮影象的行維度。

 

J = imerode(___, shape) 指定輸出影象的大小。

 

 

腐蝕運算是一種消除邊界點,使邊界點向內部收縮的過程。因此,腐蝕運算常用來消除影象中一些小且無意義的物體;使用腐蝕運算消除影象的背景部分,也可以產生濾波器的效果。

 

膨脹運算:imdilate

J = imdilate(I, SE) 使用結構元素 SE 膨脹灰度、二值或壓縮二值影象 I。

 

J = imdilate(I, nhood) 對影象 I 執行擴張運算,其中 nhood 是由 0 和 1 組成的矩陣,用於指定結構元素鄰域。

此語法等效於 imdilate(I, strel(nhood))。

 

J = imdilate(___, packopt) 指定 I 是否為壓縮二值影象。

 

J = imdilate(___, shape) 指定輸出影象的大小。

 

 

膨脹運算是將與物體接觸的所有背景合併到該物體中,使邊界向外擴張的過程。因此,膨脹運算可以用來填補物體中的空洞及消除目標物體中的小顆粒噪聲。在處理上面一張字跡不清的圖片時,用膨脹運算填補字跡的空洞,從而使字跡更加清晰。

 

開運算:imopen

J = imopen(I, SE) 使用結構元素 SE 對灰度或二值影象 I 執行形態學開運算。形態學開運算是先腐蝕後膨脹,這兩種運算使用相同的結構元素。

 

J = imopen(I, nhood) 對影象 I 執行開運算,其中 nhood 是由 0 和 1 組成的矩陣,用於指定結構元素鄰域。

此語法等效於 imopen(I,strel(nhood))。

 

 

開運算對影象先腐蝕後膨脹,開運算能夠除去孤立的小點,毛刺和粘連,而總的位置和形狀不變。開運算是一個基於幾何運算的濾波器。結構元素大小的不同將導致濾波效果的不同。不同的結構元素的選擇導致了不同的分割,即提取出不同的特徵。

 

閉運算:imclose

J = imclose(I,SE) 使用結構元素 SE 對灰度或二值影象 I 執行形態學閉運算。形態學閉運算是先膨脹後腐蝕,這兩種運算使用相同的結構元素。

 

J = imclose(I,nhood) 對影象 I 執行閉運算,其中 nhood 是由指定結構元素鄰域的 0 和 1 組成的矩陣。

此語法等效於 imclose(I,strel(nhood))。

 

 

閉運算對影象先膨脹後腐蝕,閉運算能夠填平目標物中的小孔,彌合小裂縫,而總的位置和形狀不變。閉運算是通過填充影象的凹角來濾波影象的。結構元素大小的不同將導致濾波效果的不同。不同結構元素的選擇導致了不同的彌合。