距離 分水嶺

2021-08-31 11:54:20 字數 1361 閱讀 2875

2023年05月29日 14:07:53

mengxiaozuo

更多

個人分類:

影象處理 分割

針對分割,與分水嶺變換相配合的常用工具是距離變換。二值影象的距離變換是相對簡單的概念:是指從每個畫素到最接近零值的畫素的距離。例如,圖10-25(a)顯示了乙個小的二值影象矩陣。圖10-25(b)顯示了相應的距離變換。注意,每個值為1的畫素的距離變換為0,因為最靠近的非0畫素是它本身。距離變換可以用工具箱函式bwdist來計算,呼叫語法為:

例10.15  使用距離變換和分水嶺變換分割二值影象

在這個例子中,我們說明如何與工具箱的分水嶺變換一起,使用距離變換分割彼此有些接觸的圓形水滴。特別是,我們想要分割圖9-29(b)中處理過的銷釘影象。首先,正如10.3.1節中描述的那樣,使用im2bw和graythreshi把影象變換為二值影象:

>

>

g = im2bw(f, graythresh(f)); 

l =  watershed(a,conn) 

其中,l是在9.4節討論和定義過的標記矩陣。a是輸入陣列(一般可以是任何維數,但在本章是二維),並且conn指定了連通性(對於二維陣列是4或8(預設值))。在l中,正整數與匯水盆地相對應,零值指出分水嶺的脊線畫素:

>

>

gc = ~g;  

>

>

d = bwdist(gc);  

>

>

l = watershed(?d);  

>

>

w = l == 0; 

圖10-26(b)和(c)顯示了求補後的影象及其距離變換。因為l的0值畫素是分水嶺的脊線畫素,前面**的最後一行計算二值影象w,圖中僅顯示這些畫素。分水嶺的脊線影象顯示於圖10-26(d)中。最後,使用原始的二值影象和影象w的"補",通過邏輯and操作完成分割,如圖10-26(e)所示:

>

>

gg2 = g&-w; 

注意,圖10-20(e)中的某些物體沒有很好地分開。這被稱為過分割,這是使用基於分水嶺的分割方法時常常會出現的問題。下邊將討論克服這一問題的不同技術。

分水嶺分割

基於拓撲理論的數學形態學的分割演算法,基本思想是把影象看作是地形地貌,影象中每一點的灰度值表示該點的海拔高度,每乙個區域性極小值及其影響區域成為集水盆,集水盆的邊界則形成分水嶺。在每乙個區域性極小值表面,刺穿乙個小孔,然後慢慢把整個模型浸入水中,隨著浸入的加深,每乙個區域性極小值的影響區域慢慢向外擴...

分水嶺演算法

分水嶺變換是一種流行的影象處理演算法,用於快速將影象分割成多個同質區域。分水嶺演算法的思想是 把影象看成乙個拓撲地貌,那麼同類區域就相當於陡峭邊緣內相對平坦的盆地。分水嶺演算法通過逐步增加水位,把地貌分割成多個部分 目前比較著名的有模擬泛洪和降水 降水 水先是匯集到海拔低的地區,慢慢填充這每乙個盆地...

分水嶺分割

分水嶺分割利用影象形態學進行影象區域分割。它將影象灰度值看作一幅地形圖,在地形圖的區域性極小值處與地形最低點是連通的,從最低點開始注水,水流會逐漸淹沒地形較低點構成的區域,直到整個影象被淹沒。在這個過程中,通過相關形態學處理,可以實現一幅影象的分水嶺分割。以下gif影象給出了形象說明 影象來自 分水...