膨脹和腐蝕 - 解決圖像缺陷問題


腐蝕

故名思義就是將圖片向內進行收縮。

圖1 腐蝕示意圖

  設經過背景減后的圖像為 B,經過腐蝕運算處理后的圖像為 P,用 S 表示所用 3R圓(為進化計算可由采用3x3的矩形來代替) 的結構元素,計算公式如下:

\[P=B\Theta S= \{x,y | S_{x,y}\subseteq B\} \]

  這里 \(S_{x,y}\) 表示將結構元素的原點移動到點 (x, y) 處。

腐蝕運算的具體過程如下:

  選定結構元素 S 的起點,以該點開始遍歷經背景減的圖像 B 上的所有像素點;結構元素與其所覆蓋范圍的所有像素點進行“”操作,若相“與”后的像素值全部為 255,則腐蝕運算后該點的像素值為 255;若像素值不全為 255,則腐蝕運算后該點的像素值為 0。
  常用的結構元素一般都是大小為 3*3 的矩陣算子,由實驗可知,對運動圖像進行閉運算,可以很好的修補輪廓上的一些缺陷,填充運動對象內部較小的空洞。圖2為圖像經閉運算處理后的變化。

膨脹

故名思義就是將圖片向外延進行收縮。

圖2 膨脹示意圖
  設經過背景減后的圖像為 B,經過膨脹運算處理后的圖像為 P,用 S 表示所用 3*3 的結構元素,計算公式如下。

\[P=B\oplus S=\{x,y|S_{x,y}\cap B \ne\varnothing\} \]

  這里,\(S_{x,y}\)表示將結構元素的原點移動到點 (x, y) 處。

  膨脹運算的過程如下:

  首先確定膨脹算子的結構元素 S 的原點,以該原點開始,掃描圖像 B 中的所有像素點。把結構元素在圖像上進行遍歷,把結構元素與其覆蓋的像素點進行“與”操作,如果該區域中存在像素值為 255 的點,則經過該操作就把當前點賦為 255,若該區域所有的點的值都是 0,經膨脹操作后該點的值也為 0。

閉運算 && 開運算

  開運算是先后進行腐蝕和膨脹的運算,如果圖像中雜散的背景噪聲過多時,腐蝕運算消去這些背景噪聲,由於在進行腐蝕操作時,被測目標的輪廓也會被腐蝕掉一部分,因此就需要采用膨脹運算對目標輪廓進行恢復。開運算可以消除一些雜散噪聲的影響,且可以保證被測目標的輪廓不變形。

  閉運算是采用先膨脹后腐蝕的方式進行的,膨脹運算可以把圖像中一些小的斷開或者目標區域背部的空洞補齊,然后由腐蝕預算把目標輪廓外圍的一些噪聲消掉。

閉運算處理以后的圖片如下,可以看出,將有缺陷的部分補全。

            在這里插入圖片描述 在這里插入圖片描述

                  a)處理之前          b)處理以后

圖3 閉運算示意圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM