在許多實際應用中,我們需要分割影象,但無法從背景影象中獲得有用資訊。分水嶺演算法在這方面往往是非常有效的。此演算法可以將影象中的邊緣轉化成「山脈」,將均勻區域轉化為「山谷」,這樣有助於分割目標。
分水嶺演算法,是一種基於拓撲理論的數學形態學的分割方法,其基本思想是把影象看作是測地學上的拓撲地貌,影象中每一點畫素的灰度值表示該點的海拔高度,每乙個區域性極小值及其影響區域稱為集水盆,而集水盆的邊界則形成分水嶺。分水嶺的概念和形成可以通過模擬浸入過程來說明:在每乙個區域性極小值表面,刺穿乙個小孔, 然後把整個模型慢慢浸入水中,隨著浸入的加深,每乙個區域性的極小值的影響慢慢向外擴充套件,在兩個集水盆匯合處構築大壩,即形成分水嶺。
分水嶺的計算過程是乙個迭代標註過程。分水嶺比較經典的計算方法是由l.vincent提出的。在該演算法中,分水嶺計算分兩個步驟:乙個是排序過程,乙個是淹沒過程。首先對每乙個畫素的灰度級進行從低到高的排序,然後在從低到高實現淹沒的過程中,對每乙個區域性極小值在h階高度的影響域採用先進先出結構進行判斷及標註。分水嶺變換得到的是輸入影象的集水盆影象,集水盆之間的邊界點,即為分水嶺。顯然,分水嶺表示的是輸入影象的極大值點。
也就是說,分水嶺演算法首先計算灰度影象的梯度;這對影象中的「山谷」或沒有紋理的「盆地」(亮度值極低的點)的形成是很有效的,也對「山頭」或影象中有主導線段的「山脈」(山脊對應的邊緣)的形成有效。然後開始從使用者指定點(或者演算法得到點)開始持續「灌注」盆地直到這些區域連成一片。基於這樣產生的標記就可以把區域合併到一起,合併後的區域又通聚集的方式進行分割,好像影象被「填充」起來一樣。
分水嶺演算法
分水嶺變換是一種流行的影象處理演算法,用於快速將影象分割成多個同質區域。分水嶺演算法的思想是 把影象看成乙個拓撲地貌,那麼同類區域就相當於陡峭邊緣內相對平坦的盆地。分水嶺演算法通過逐步增加水位,把地貌分割成多個部分 目前比較著名的有模擬泛洪和降水 降水 水先是匯集到海拔低的地區,慢慢填充這每乙個盆地...
分水嶺分割演算法
如果影象中的目標物體是連在一起的,則分割起來會更困難,分水嶺演算法經常用於處理這類問題,通常會取得比較好的效果。分水嶺分割演算法把影象看成一副 地形圖 其中亮度比較強的地區畫素值較大,而比較暗的地區畫素比較小,通過尋找 匯水盆地 和 分水嶺界限 對影象進行分割。步驟 1.讀取影象 2.求取影象的邊界...
分水嶺演算法原理
所謂分水嶺演算法有好多種實現演算法,拓撲學,形態學,浸水模擬和降水模擬等方式。要搞懂就不容易了。watershed algorithm 分水嶺演算法 顧名思義,就是根據分 水嶺的構成來考慮影象的分割。現實中我們可以或者說可以想象有山有湖的景象,那 麼那一定是水繞山,山圍水的情形。而區分高山 plat...