水域分割又稱Watershed變換,是模仿地圖浸沒過程的一種形態學分割算法,其本質是利用圖像的區域特性來分割圖像,它將邊緣檢測與區域生長的優點結合起來,能夠得到單像素寬、連通、封閉確位置準確的輪廓,因此是套用比較廣泛的一種圖像分割方法。
基本介紹
- 中文名:水域分割
- 外文名:Watershed Segmentation
- 類型:計算機視覺
- 用途:分割圖像
基本原理,水域分割的本質,基於標記的Watershed變換,
基本原理
水域分割的基本思想是基於局部極小值和積水盆的概念。積水盆是地形中局部極小點的影響區,水平面從這些局部極小值處上漲,在水平面浸沒地形的過程中,每一個積水盆被築起的“壩”所包圍,這些壩用來防止不同積水盆里的水混合到一起。在地形完全浸沒到水中後,這些築起的壩就構成了分水嶺。這個過程可以用圖1-1說明。
將水域的概念套用到圖像分割中,假設待分割的圖像由目標和背景組成,對圖像進行梯度變換,則圖像的背景和目標的內部區域將對應梯度圖中灰度較低的位置,而目標邊緣則對應了梯度圖中的亮帶,這樣,圖像的梯度圖即對應了Watershed變換中的地形圖。將梯度圖像中具有均勻低灰度值的區域稱為極小值區域(一般分布在目標內部及背景處)。水面從這些極小區域開始上漲,當不同流域中的水面不斷升高到將要匯合在一起時(目標邊界處),便築起一道堤壩,最後得到由這些壩組成的分水線,圖像也就完成了分割。
水域分割的本質
從水域分割的基本原理知道,水域分割本質上利用基於鄰域的空間信息來分割圖像的,它實際上是把邊緣檢測和區域生長結合起來,所以能夠得到單像素寬的、連續二準確的邊緣。因此,邊緣運算元的選擇直接影響圖像分割的好壞,一個合適的邊緣檢測運算元能夠得到準確而平滑的目標邊緣。到目前為止,用於邊緣檢測的運算元有很多,如Sobel、Prewitt、Canny及形態學梯度等。也有文獻用紅藍兩個分量組成距離空間,用當前像素到四鄰域的最大距離作為該像素的梯度。在以上提到的各種梯度運算元中,除Canny運算元外,其他梯度運算元計算都比較簡單,但抗噪能力差,邊緣不夠光滑,其中Sobel、Prewitt和形態學梯度運算元在質量較好的圖像中尚能取得較好的結果,而對於目標邊界比較弱的圖像卻不盡如人意。Canny運算元是在三個準則基礎上提出來的一種最佳化算法,對噪聲不敏感,而且在弱邊界處也顯示了較好的效果。
基於標記的Watershed變換
由於待分割的圖像中存在噪聲和一些微小的灰度值起伏波動,在梯度圖像中可能存在許多假的局部極小值,如果直接對梯度圖進行生長會造成過分割的現象。即使在Watershed變換前對梯度圖進行濾波,存在的極小點也往往會多於原始圖像中目標的數目,因此必須加以改進。實際中套用Watershed變換的有效途徑是首先確定圖像中目標的標記或種子,然後再進行生長,並且生長的過程中僅對具有不同標記的標記點建築防止溢流匯合的堤壩,產生分水線,這就是基於標記的Watershed變換。
基於標記的Watershed變換大體可分為3個步驟:
步驟1:對原圖進行梯度變換,得到梯度圖。
步驟2:用人機互動或者標記函式把圖像中各個區域標記出來,得到標記圖。
步驟3:將標記圖中的相應標記作為種子點,對梯度圖像進行Watershed變換,當不同標記匯合時產生分水線。