形態(tài)學基本知識
-
結構元(SE)
SE中的的值可以是0或1。常見的結構元有矩形和十字形暖夭。結構元有一個錨點O锹杈,O一般定義為結構元的中心(也可以自由定義位置)。如下圖所示是幾個不同形狀的結構元迈着,紫紅色區(qū)域為錨點O竭望。
SE.png - 膨脹
將結構元s在圖像f上滑動,把結構元錨點位置的圖像像素點的灰度值設置為結構元值為1的區(qū)域對應圖像區(qū)域像素的最大值裕菠。
個人理解:類似于機器學習中的求卷積過程咬清,不過這里不是相乘相加,而是取一定區(qū)域范圍內(nèi)的最大值奴潘,這樣最大值得以擴增延展旧烧,分布到了更多的位置,起到了膨脹的效果画髓。 - 腐蝕
將結構元s在圖像f上滑動掘剪,把結構元錨點位置的圖像像素點的灰度值設置為結構元值為1的區(qū)域對應圖像區(qū)域像素的最小值。
個人理解:同理雀扶,最小值得以擴增延展杖小,分布到了更多的位置,起到了腐蝕的效果愚墓。 -
開運算
對圖像f用同一結構元s先腐蝕再膨脹
效果:原本連接的地方分開了(主要是腐蝕的效果)
開運算 -
閉運算
對圖像f用同一結構元s先膨脹再腐蝕
效果:原本分開的地方閉合了(主要是膨脹的效果)
閉運算 -
white top hat transformation
原圖像與開運算(先腐蝕再膨脹)結果圖之差
得到圖像中那些面積小于結構元且比周圍亮的區(qū)域予权。
白帽變換
注意:白色頂帽變換也是非常有用的提取sure_foreground的方式
- black top hat transformation
閉運算(先膨脹再腐蝕)結果圖與原圖之差
得到圖像中那些面積小于結構元且比周圍暗的區(qū)域。
MATLAB實現(xiàn)
White Top-hat Filtering: ( Original Image - Opening of original Image ) [which is imtophat() in matlab]
Black Top-hat Filtering: ( Closing of Original Image - Original Image ) [which is imbothat() in matlab ]
IM2 = imbothat(IM,SE) performs morphological bottom-hat filtering on the grayscale or binary input image, IM, returning the filtered image, IM2.
SE is a structuring element returned by the strel function. SE must be a single structuring element object, not an array containing multiple structuring element objects.
實踐中的難點:SE的構造
MATLAB中可以用 strel函數(shù)浪册,se = strel('disk',r, N)
;
有相關的strel
函數(shù)文檔可以查
creates a disk-shaped structuring element, where r specifies the radius and n specifies the number of line structuring elements used to approximate the disk shape
r是半徑扫腺,n我也沒太看懂,但是可以省略n這個參數(shù)的村象。
進一步探究:SE的size和白色頂帽變換效果的關系
SE的size越大笆环,進行閉運算時就膨脹得越厲害,這樣更大的亮的區(qū)域在閉運算之后被保留厚者。在白色頂帽變換后躁劣,保留下的亮的區(qū)域的尺寸上限也比SE的size小的時候更大。
經(jīng)過MATLAB實踐库菲,這樣的分析結果是對的账忘。
SE的size為3時,白色頂帽運算的效果如下:
SE的size為10時,白色頂帽運算的效果如下: