導航:首頁 > 源碼編譯 > 分水嶺演算法是閾值分割嗎

分水嶺演算法是閾值分割嗎

發布時間:2023-06-29 19:46:49

㈠ 圖像分割最好方法

1.基於閾值的分割方法

閾值法的基本思想是基於圖像的灰度特徵來計算一個或多個灰度閾值,並將圖像中每個像素的灰度值與閾值作比較,最後將像素根據比較結果分到合適的類別中。因此,該方法最為關鍵的一步就是按照某個准則函數來求解最佳灰度閾值。

閾值法特別適用於目標和背景占據不同灰度級范圍的圖。圖像若只有目標和背景兩大類,那麼只需要選取一個閾值進行分割,此方法成為單閾值分割;但是如果圖像中有多個目標需要提取,單一閾值的分割就會出現作物,在這種情況下就需要選取多個閾值將每個目標分隔開,這種分割方法相應的成為多閾值分割。
2.基於區域的圖像分割方法

基於區域的分割方法是以直接尋找區域為基礎的分割技術,基於區域提取方法有兩種基本形式:一種是區域生長,從單個像素出發,逐步合並以形成所需要的分割區域;另一種是從全局出發,逐步切割至所需的分割區域。
分水嶺演算法

分水嶺演算法是一個非常好理解的演算法,它根據分水嶺的構成來考慮圖像的分割,現實中我們可以想像成有山和湖的景象,那麼一定是水繞山山圍水的景象。

分水嶺分割方法,是一種基於拓撲理論的數學形態學的分割方法,其基本思想是把圖像看作是測地學上的拓撲地貌,圖像中每一點像素的灰度值表示該點的海拔高度,每一個局部極小值及其影響區域稱為集水盆,而集水盆的邊界則形成分水嶺。分水嶺的概念和形成可以通過模擬浸入過程來說明。在每一個局部極小值表面,刺穿一個小孔,然後把整個模型慢慢浸入水中,隨著浸入的加深,每一個局部極小值的影響域慢慢向外擴展,在兩個集水盆匯合處構築大壩,即形成分水嶺。

㈡ 分水嶺演算法的原理及相關思想的闡述是什麼

首先選擇最低的點,就是分水嶺中最底的山谷。
然後灌水:
1 . 極值點周圍的點也劃分到極值點,它們屬於一個區域。
2 . 在灌水的過程中根據你設定的閾值,還需要把有的區域合並。
3. 這個過程中有新的局部極值點產生,也是山谷,但不一定是最底的山谷。
最後灌滿了水之後,由起始的極值點形成了一個一個的區域。

㈢ 圖像分割技術論文

圖像分割是圖像處理與計算機視覺的基本問題之一,是圖像處理圖像分析的關鍵步驟。我整理了圖像分割技術論文,歡迎閱讀!

圖像分割技術論文篇一

圖像分割技術研究

摘要:圖像分割是圖像處理與計算機視覺的基本問題之一,是圖像處理圖像分析的關鍵步驟。本文介紹了基於閾值的分割方法和圖像分割的圖像分割性能的評價、應用現狀;最後總結出圖像分割的發展趨勢。

關鍵詞:圖像分割、閾值、邊緣檢測、區域分割

中圖分類號: TN957.52 文獻標識碼: A

1引言

隨著圖像分割技術研究的深入,其應用日趨廣泛。凡屬需要對圖像目標進行提取、測量的工作都離不開圖像分割。圖像分割是圖像處理、模式識別和人工智慧等多個領域中一個十分重要且又十分困難的問題,是計算機視覺技術中首要的、重要的關鍵步驟。圖像分割結果的好壞直接影響對計算機視覺中的圖像理解。現有的方法多是為特定應用設計的,有很大的針對性和局限性,到目前為止還不存在一個通用的方法,也不存在一個判斷分割是否成功的客觀標准。因此,對圖像分割的研究目前還缺乏一個統一的理論體系,使得圖像分割的研究仍然是一個極富有挑戰性的課題。

2圖像分割方法

圖像分割(Image Segmentation),簡單地說就是將一幅數字圖像分割成不同的區域,在同一區域內具有在一定的准則下可認為是相同的性質,如灰度、顏色、紋理等。而任何相鄰區域之間其性質具有明顯的區別。

2.1基於灰度特徵的閾值分割方法

閾值分割技術是經典的、流行的圖象分割方法之一,它是用一個或幾個閾值將圖像的灰度級分為幾個部分,認為屬於同一個部分的像素是同一個物體。

這類方法主要包括以下幾種:

(1)單閾值法,用一個全局閾值區分背景和目標。當一幅圖像的直方圖具有明顯的雙峰時,選擇兩峰之間的谷底作為閾值。

(2)雙閾值法,用兩個閾值區分背景和目標。通過設置兩個閾值,以防單閾值設置閾值過高或過低,把目標像素誤歸為背景像素,或把背景像素誤歸為目標像素。

(3)多閾值法,當存在照明不均,突發雜訊等因素或背景灰度變化較大時,整幅圖像不存在合適的單一閾值,單一閾值不能兼顧圖像不同區域的具體情況,這時可將圖像分塊處理,對每一塊設一個閾值。

2.2 邊緣檢測分割法

基於邊緣檢測技術可以按照處理的順序分為並行邊緣檢測和串列邊緣檢測兩大類。常見的邊緣檢測方法有:差分法、模板匹配法及統計方法等。由於邊緣灰度變化規律一般體現為階梯狀或者脈沖狀。邊緣與差分值的關系可以歸納為兩種情況,其一是邊緣發生在差分最大值或者最小值處;其二是邊緣發生在過零處。

2.3基於區域的分割方法

基於區域的分割方法利用的是圖像的空間性質。該方法認為分割出來的某一區域具有相似的性質。常用的方法有區域生長法和區域分裂合並法。該類方法對含有復雜場景或自然景物等先驗知識不足的圖像進行分割,效果較好。

區域生長方法是把一幅圖像分成許多小區域開始的,這些初始的小區域可能是小的鄰域甚至是單個像素,在每個區域中,通過計算能反映一個物體內像素一致性的特徵,作為區域合並的判斷標准。區域合並的第一步是賦給每個區域一組參數,即特徵。接下來對相鄰區域的所有邊界進行考查,如果給定邊界兩側的特徵值差異明顯,那麼這個邊界很強,反之則弱。強邊界允許繼續存在,而弱邊界被消除,相鄰區域被合並。沒有可以消除的弱邊界時,區域合並過程結束,圖像分割也就完成。

2.4結合特定工具的圖像分割技術

20世紀80年代末以來,隨著一些特殊理論的出現及其成熟,如數學形態學、分形理論、模糊數學、小波分析、模式識別、遺傳演算法等,大量學者致力於將新的概念、新的方法用於圖像分割,有效地改善了分割效果。產生了不少新的分割演算法。下面對這些演算法做一些簡單的概括。

2.4.1基於數學形態學的分割演算法

分水嶺演算法是一種經典的借鑒了數學形態理論的分割方法。該方法中,將一幅圖像比為一個具有不同高度值的地形,高灰度值處被認為是山脊,底灰度值處被認為是山谷,將一滴水從任一點流下,它會朝地勢底的地方流動,最終聚於某一局部最底點,最後所有的水滴會分聚在不同的吸引盆地,由此,相應的圖像就被分割成若幹部分。分水嶺演算法具有運算簡單、性能優良,能夠較好提取運動對象輪廓、准確得到運動物體邊緣的優點。但分割時需要梯度信息,對雜訊較敏感。

2.4.2基於模糊數學的分割演算法

目前,模糊技術在圖像分割中應用的一個顯著特點就是它能和現有的許多圖像分割方法相結合,形成一系列的集成模糊分割技術,例如模糊聚類、模糊閾值、模糊邊緣檢測技術等。

這類方法主要有廣義模糊運算元與模糊閾值法兩種分割演算法。

(1)廣義模糊運算元在廣義模糊集合的范圍內對圖像處理,使真正的邊緣處於較低灰度級,但還有一些不是邊緣的像素點的灰度也在較低灰度級中,雖然演算法的計算簡明,且邊緣細膩,但得到的邊緣圖會出現斷線問題。

(2)模糊閾值法引入灰度圖像的模糊數學描述,通過計算圖像的模糊熵來選取圖像的分割閾值,後用閾值法處理圖像得到邊界。

2.4.3基於遺傳演算法的分割方法

此演算法是受生物進化論思想提出的一種優化問題的解決方法,它使用參數編碼集而不是參數本身,通過模擬進化,以適者生存的策略搜索函數的解空間,它是在點群中而不是在單點進行尋優。遺傳演算法在求解過程中使用隨機轉換規則而不是確定性規則來工作,它唯一需要的信息是適應值,通過對群體進行簡單的復制、雜交、變異作用完成搜索過程。由於此法能進行能量函數全局最小優化搜索,且可以降低搜索空間維數,降低演算法對模板初始位置的敏感,計算時間也大為減少。其缺點是容易收斂於局部最優。

2.4.4基於神經網路分割演算法

人工神經網路具有自組織、自學習、自適應的性能和非常強的非線性映射能力,適合解決背景知識不清楚、推理規則不明確和比較復雜的分類問題,因而也適合解決比較復雜的圖像分割問題。原則上講,大部分分割方法都可用 ANN(attificial neural network)實現。ANN 用於分割的研究起步較晚,只有多層前饋NN,多層誤差反傳(BP)NN,自組織NN,Hopfield NN以及滿足約束的NN(CSNN-Const raint Satisfaction Neurat Network)等得到了應用。使用一個多層前向神經網路用於圖象分割,輸入層神經元的數目取決於輸入特徵數,而輸出層神經元的數目等同於分類的數目。

2.5圖像分割中的其他方法

前面介紹了4大類圖像分割較常用的方法,有關圖像分割方法和文獻很多,新方法不斷產生,這些方法有的只對特定的情形有效,有的綜合了幾種方法,放在一起統稱為第5類。

(1)標號法(labeling)是一種基於統計學的方法,這種方法將圖像欲分割成的幾個區域各以一個不同的標號來表示,用一定的方式對圖像中的每一個像素賦以標號,標號相同的像素就合並成該標號所代表的區域。

(2)基於Snak模型的分割方法,基於Snake模型的分割是通過對能量函數的動態優化來逼近圖像目標的真實輪廓的

(3)紋理分割,由於新的數學工具的引入,紋理分割技術取得了一些進展,張蓬等人將小波分析應用於紋理基元提取。

(4)基於知識的圖像分割方法,直接建立在先驗知識的基礎上,使分割更符合實際圖像的特點。該方法的難度在於知識的正確合理的表示與利用。

3圖像分割性能的評價

圖像分割評價主要有兩個方面的內容:一是研究各分割演算法在不同情況下的表現,掌握如何選擇和控制其參數設置,以適應不同需要。二是分析多個分割演算法在分割同一圖像時的性能,比較優劣,以便在實際應用中選取合適的演算法。分割評價方法分為分析法和實驗法兩大類。分析法是直接分析分割演算法本身的原理及性能,而實驗法是通過對測試圖像的分割結果來評價演算法的。兩種方法各有優劣,由於缺乏可靠理論依據,並非所有分割演算法都能夠通過分析法分析其性能。每種評價方法都是出於某種考慮而提出來的,不同的評價方法只能反映分割演算法性能的某一性能。另一方面,每一種分割演算法的性能是由多種因素決定的,因此,有可能需要多種准則來綜合評價。

4圖像分割技術的發展趨勢

隨著神經網路、遺傳演算法、統計學理論、小波理論以及分形理論等在圖像分割中的廣泛應用,圖像分割技術呈現出以下的發展趨勢:(1)多種特徵的融合。(2)多種分割方法的結合。(3)新理論與新方法。

參考文獻

[1] [美]RC岡薩雷斯.數字圖像處理(第二版)[M].阮秋琦,等譯.北京:電子工業出版社,2003

[2] 章毓晉.圖像分割[M].北京:科學出版社,2001.

[3] 李弼程,彭天強,彭波等.智能圖像處理技術[M].北京:電子工業出版社,2004.

[4] 楊暉,曲秀傑.圖像分割方法綜述[J].電腦開發與應用。2005,18(3):21-23.

點擊下頁還有更多>>>圖像分割技術論文

㈣ 圖像分割——分水嶺演算法

姓名:謝意遠

學號:19021110366T

嵌牛導讀:圖像中的目標物體是連接在一起的,則分割起來很困難,分水嶺分割演算法經常用於處理這類問題,通常會取得比較好的效果。

嵌牛鼻子:圖像分割、分水嶺演算法

嵌牛提問:分水嶺演算法具體有哪些步驟?

嵌牛正文:

一、綜述

分水嶺分割演算法把圖像看成一幅「地形圖」,其中亮度比較強的區域像素值較大,而比較暗的區域像素值較小,通過尋找「匯水盆地」和「分水嶺界限」,對圖像進行分割。而直接應用分水嶺分割演算法的效果往往並不好,如果在圖像中對前景對象和背景對象進行標注區別,再應用分水嶺演算法會取得較好的分割效果。基於標記控制的分水嶺分割方法有以下基本步驟:

1  綜述

分水嶺分割演算法把圖像看成一幅「地形圖」,其中亮度比較強的區域像素值較大,而比較暗的區域像素值較小,通過尋找「匯水盆地」和「分水嶺界限」,對圖像進行分割。直接應用分水嶺分割演算法的效果往往並不好,如果在圖像中對前景對象和背景對象進行標注區別,再應用分水嶺演算法會取得較好的分割效果。基於標記控制的分水嶺分割方法有以下基本步驟:

1.計算分割函數。圖像中較暗的區域是要分割的對象

2.計算前景標志。這些是每個對象內部連接的斑點像素。

3.計算背景標志。這些是不屬於任何對象的要素。

4.修改分割函數,使其僅在前景和後景標記位置有極小值。

5.對修改後的分割函數做分水嶺變換計算。

使用MATLAB圖像處理工具箱

註:期間用到了很多圖像處理工具箱的函數,例如fspecial、imfilter、watershed、label2rgb、imopen、imclose、imreconstruct、imcomplement、imregionalmax、bwareaopen、graythresh和imimposemin函數等。

2  步驟

 第一步:讀入彩色圖像,將其轉化成灰度圖像

clc; clear all; close all;

rgb = imread('pears.png');

if ndims(rgb) == 3

 I = rgb2gray(rgb);

else

 I = rgb;

end

figure('units', 'normalized', 'position', [0 0 1 1]);

第2步:將梯度幅值作為分割函數

使用Sobel邊緣運算元對圖像進行水平和垂直方向的濾波,然後求取模值,sobel運算元濾波後的圖像在邊界處會顯示比較大的值,在沒有邊界處的值會很小。

hy = fspecial('sobel');

hx = hy';

Iy = imfilter(double(I), hy, 'replicate');

Ix = imfilter(double(I), hx, 'replicate');

gradmag = sqrt(Ix.^2 + Iy.^2);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(I,[]), title('灰度圖像')

subplot(1, 2, 2); imshow(gradmag,[]), title('梯度幅值圖像')

可否直接對梯度幅值圖像使用分水嶺演算法?

L = watershed(gradmag);

Lrgb = label2rgb(L);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(gradmag,[]), title('梯度幅值圖像')

subplot(1, 2, 2); imshow(Lrgb); title('梯度幅值做分水嶺變換')

直接使用梯度模值圖像進行分水嶺演算法得到的結果往往會存在過度分割的現象。因此通常需要分別對前景對象和背景對象進行標記,以獲得更好的分割效果。

第3步:標記前景對象

有多種方法可以應用在這里來獲得前景標記,這些標記必須是前景對象內部的連接斑點像素。這個例子中,將使用形態學技術「基於開的重建」和「基於閉的重建」來清理圖像。這些操作將會在每個對象內部創建單位極大值,使得可以使用imregionalmax來定位。

開運算和閉運算:先腐蝕後膨脹稱為開;先膨脹後腐蝕稱為閉。開和閉這兩種運算可以除去比結構元素小的特定圖像細節,同時保證不產生全局幾何失真。開運算可以把比結構元素小的突刺濾掉,切斷細長搭接而起到分離作用;閉運算可以把比結構元素小的缺口或孔填充上,搭接短的間隔而起到連接作用。

開操作是腐蝕後膨脹,基於開的重建(基於重建的開操作)是腐蝕後進行形態學重建。下面比較這兩種方式。首先,用imopen做開操作。

se = strel('disk', 20);

Io = imopen(I, se);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(I, []); title('灰度圖像');

subplot(1, 2, 2); imshow(Io), title('圖像開操作')

接下來,通過腐蝕後重建來做基於開的重建計算。

Ie = imerode(I,se)

Iobr = imreconstruct(Ie,I);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(I, []); title('灰度圖像');

subplot(1, 2, 2); imshow(Iobr, []), title('基於開的重建圖像')

開操作後,接著進行閉操作,可以移除較暗的斑點和枝幹標記。對比常規的形態學閉操作和基於閉的重建操作。首先,使用imclose:

Ioc = imclose(Io, se);

Ic = inclose(I,se);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(I, []); title('灰度圖像');

subplot(2, 2, 2); imshow(Io, []); title('開操作圖像');

subplot(2, 2, 3); imshow(Ic, []); title('閉操作圖像');

subplot(2, 2, 4); imshow(Ioc, []), title('開閉操作');

現在使用imdilate,然後使用imreconstruct。注意必須對輸入圖像求補,對imreconstruct輸出圖像求補。IM2 = imcomplement(IM)計算圖像IM的補集。IM可以是二值圖像,或者RGB圖像。IM2與IM有著相同的數據類型和大小。

Iobrd = imdilate(Iobr, se);

Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));

Iobrcbr = imcomplement(Iobrcbr);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(I, []); title('灰度圖像');

subplot(2, 2, 2); imshow(Ioc, []); title('開閉操作');

subplot(2, 2, 3); imshow(Iobr, []); title('基於開的重建圖像');

subplot(2, 2, 4); imshow(Iobrcbr, []), title('基於閉的重建圖像');

通過比較Iobrcbr和loc可以看到,在移除小污點同時不影響對象全局形狀的應用下,基於重建的開閉操作要比標準的開閉重建更加有效。計算Iobrcbr的局部極大來得到更好的前景標記。

fgm = imregionalmax(Iobrcbr);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 3, 1); imshow(I, []); title('灰度圖像');

subplot(1, 3, 2); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(1, 3, 3); imshow(fgm, []); title('局部極大圖像');

為了幫助理解這個結果,疊加前景標記到原圖上。

It1 = rgb(:, :, 1);

It2 = rgb(:, :, 2);

It3 = rgb(:, :, 3);

It1(fgm) = 255; It2(fgm) = 0; It3(fgm) = 0;

I2 = cat(3, It1, It2, It3);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(rgb, []); title('原圖像');

subplot(2, 2, 2); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(2, 2, 3); imshow(fgm, []); title('局部極大圖像');

subplot(2, 2, 4); imshow(I2); title('局部極大疊加到原圖像');

注意到大多閉塞處和陰影對象沒有被標記,這就意味著這些對象在結果中將不會得到合理的分割。而且,一些對象的前景標記會一直到對象的邊緣。這就意味著應該清理標記斑點的邊緣,然後收縮它們。可以通過閉操作和腐蝕操作來完成。

se2 = strel(ones(5,5));

fgm2 = imclose(fgm, se2);

fgm3 = imerode(fgm2, se2);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(2, 2, 2); imshow(fgm, []); title('局部極大圖像');

subplot(2, 2, 3); imshow(fgm2, []); title('閉操作');

subplot(2, 2, 4); imshow(fgm3, []); title('腐蝕操作');

這個過程將會留下一些偏離的孤立像素,應該移除它們。可以使用bwareaopen,用來移除少於特定像素個數的斑點。BW2 = bwareaopen(BW,P)從二值圖像中移除所以少於P像素值的連通塊,得到另外的二值圖像BW2。

fgm4 = bwareaopen(fgm3, 20);

It1 = rgb(:, :, 1);

It2 = rgb(:, :, 2);

It3 = rgb(:, :, 3);

It1(fgm4) = 255; It2(fgm4) = 0; It3(fgm4) = 0;

I3 = cat(3, It1, It2, It3);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(I2, []); title('局部極大疊加到原圖像');

subplot(2, 2, 2); imshow(fgm3, []); title('閉腐蝕操作');

subplot(2, 2, 3); imshow(fgm4, []); title('去除小斑點操作');

subplot(2, 2, 4); imshow(I3, []); title('修改局部極大疊加到原圖像');

第4步:計算背景標記

現在,需要標記背景。在清理後的圖像Iobrcbr中,暗像素屬於背景,所以可以從閾值操作開始。

bw =im2bw(Iobrcbr, graythresh(Iobrcbr));

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(1, 2, 2); imshow(bw, []); title('閾值分割');

背景像素在黑色區域,但是理想情形下,不必要求背景標記太接近於要分割的對象邊緣。通過計算「骨架影響范圍」來「細化」背景,或者SKIZ,bw的前景。這個可以通過計算bw的距離變換的分水嶺變換來實現,然後尋找結果的分水嶺脊線(DL==0)。D = bwdist(BW)計算二值圖像BW的歐幾里得矩陣。對BW的每一個像素,距離變換指定像素和最近的BW非零像素的距離。bwdist默認使用歐幾里得距離公式。BW可以由任意維數,D與BW有同樣的大小。

D = bwdist(bw);

DL = watershed(D);

bgm = DL == 0;

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(2, 2, 2); imshow(bw, []); title('閾值分割');

subplot(2, 2, 3); imshow(label2rgb(DL), []); title('分水嶺變換示意圖');

subplot(2, 2, 4); imshow(bgm, []); title('分水嶺變換脊線圖');

第5步:計算分割函數的分水嶺變換

函數imimposemin可以用來修改圖像,使其只是在特定的要求位置有局部極小。這里可以使用imimposemin來修改梯度幅值圖像,使其只在前景和後景標記像素有局部極小。

gradmag2 = imimposemin(gradmag, bgm | fgm4);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2,2,1)imshow(bgm,[]);title('分水嶺變換脊線圖');

subplot(2, 2, 2); imshow(fgm4, []); title('前景標記');

subplot(2, 2, 3); imshow(gradmag, []); title('梯度幅值圖像');

subplot(2, 2, 4); imshow(gradmag2, []); title('修改梯度幅值圖像');

最後,可以做基於分水嶺的圖像分割計算。

第6步:查看結果

一個可視化技術是疊加前景標記、背景標記、分割對象邊界到初始圖像。可以使用膨脹來實現某些要求,比如對象邊界,更加清晰可見。對象邊界定位於L==0的位置。

It1 = rgb(:, :, 1);

It2 = rgb(:, :, 2);

It3 = rgb(:, :, 3);

fgm5 = imdilate(L == 0, ones(3, 3)) | bgm | fgm4;

It1(fgm5) = 255; It2(fgm5) = 0; It3(fgm5) = 0;

I4 = cat(3, It1, It2, It3);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(rgb, []); title('原圖像');

subplot(1, 2, 2); imshow(I4, []); title('標記和對象邊緣疊加到原圖像');

可視化說明了前景和後景標記如何影響結果。在幾個位置,部分的較暗對象與它們相鄰的較亮的鄰接對象相融合,這是因為受遮擋的對象沒有前景標記。

另外一個有用的可視化技術是將標記矩陣作為彩色圖像進行顯示。標記矩陣,比如通過watershed和bwlabel得到的,可以使用label2rgb轉換到真彩圖像來顯示。

Lrgb = label2rgb(L,'jet', 'w', 'shuffle');

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(rgb, []); title('原圖像');

subplot(1, 2, 2); imshow(Lrgb); title('彩色分水嶺標記矩陣');

可以使用透明度來疊加這個偽彩色標記矩陣在原亮度圖像上進行顯示。

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(rgb, []); title('原圖像');

subplot(1, 2, 2); imshow(rgb, []); hold on;

himage = imshow(Lrgb);

set(himage, 'AlphaData', 0.3);

title('標記矩陣疊加到原圖像');

㈤ 圖像分割

圖像閾值化分割是一種傳統的最常用的圖像分割方法,因其實現簡單、計算量小、性能較穩定而成為圖像分割中最基本和應用最廣泛的分割技術。它特別適用於目標和背景占據不同灰度級范圍的圖像。它不僅可以極大的壓縮數據量,而且也大大簡化了分析和處理步驟,因此在很多情況下,是進行圖像分析、特徵提取與模式識別之前的必要的圖像預處理過程。

圖像閾值化的目的是要按照灰度級,對像素集合進行一個劃分,得到的每個子集形成一個與現實景物相對應的區域,各個區域內部具有一致的屬性,而相鄰區域不具有這種一致屬性。這樣的劃分可以通過從灰度級出發選取一個或多個閾值來實現。

基本原理是:通過設定不同的特徵閾值,把圖像象素點分為若干類。
常用的特徵包括:直接來自原始圖像的灰度或彩色特徵;由原始灰度或彩色值變換得到的特徵。
設原始圖像為f(x,y),按照一定的准則f(x,y)中找到特徵值T,將圖像分割為兩個部分,分割後的圖像為:
若取:b0=0(黑),b1=1(白),即為我們通常所說的圖像二值化。

閾值分割方法實際上是輸入圖像f到輸出圖像g的如下變換:

其中,T為閾值,對於物體的圖像元素g(i,j)=1,對於背景的圖像元素g(i,j)=0。

由此可見,閾值分割演算法的關鍵是確定閾值,如果能確定一個合適的閾值就可准確地將圖像分割開來。閾值確定後,將閾值與像素點的灰度值逐個進行比較,而且像素分割可對各像素並行地進行,分割的結果直接給出圖像區域。
閾值分割的優點是計算簡單、運算效率較高、速度快。有著各種各樣的閾值處理技術,包括全局閾值、自適應閾值、最佳閾值等等。

閾值處理技術參看:

區域分割是講圖像按照相似性准則分成不同的區域,主要包括區域增長,區域分裂合並和分水嶺等幾種類型。

區域生長是一種串列區域分割的圖像分割方法。區域生長是指從某個像素出發,按照一定的准則,逐步加入鄰近像素,當滿足一定的條件時,區域生長終止。區域生長的好壞決定於1. 初始點(種子點)的選取。 2. 生長准則。 3. 終止條件 。區域生長是從某個或者某些像素點出發,最後得到整個區域,進而實現目標的提取。

區域生長的基本思想是將具有相似性質的像素集合起來構成區域。具體先對每個需要分割的區域找一個種子像素作為生長的起點,然後將種子像素周圍鄰域中與種子像素有相同或相似性質的像素(根據某種事先確定的生長或相似准則來判定)合並到種子像素所在的區域中。將這些新像素當作新的種子像素繼續進行上面的過程,直到再沒有滿足條件的像素可被包括進來。這樣一個區域就長成了。

區域生長需要選擇一組能正確代表所需區域的種子像素,確定在生長過程中的相似性准則,制定讓生長停止的條件或准則。相似性准則可以是灰度級、彩色、紋理、梯度等特性。選取的種子像素可以是單個像素,也可以是包含若干個像素的小區域。大部分區域生長准則使用圖像的局部性質。生長准則可根據不同原則制定,而使用不同的生長准則會影響區域生長的過程。

圖1是區域增長的示例。

區域生長是一種古老的圖像分割方法,最早的區域生長圖像分割方法是由Levine等人提出的。該方法一般有兩種方式,一種是先給定圖像中要分割的目標物體內的一個小塊或者說種子區域(seed point),再在種子區域基礎上不斷將其周圍的像素點以一定的規則加入其中,達到最終將代表該物體的所有像素點結合成一個區域的目的;另一種是先將圖像分割成很多的一致性較強,如區域內像素灰度值相同的小區域,再按一定的規則將小區域融合成大區域,達到分割圖像的目的,典型的區域生長法如T. C. Pong等人提出的基於小面(facet)模型的區域生長法,區域生長法固有的缺點是往往會造成過度分割,即將圖像分割成過多的區域

區域生長實現的步驟如下:

區域分裂合並演算法的基本思想是先確定一個分裂合並的准則,即區域特徵一致性的測度,當圖像中某個區域的特徵不一致時就將該區域分裂成4個相等的子區域,當相鄰的子區域滿足一致性特徵時則將它們合成一個大區域,直至所有區域不再滿足分裂合並的條件為止。當分裂到不能再分的情況時,分裂結束,然後它將查找相鄰區域有沒有相似的特徵,如果有就將相似區域進行合並,最後達到分割的作用。在一定程度上區域生長和區域分裂合並演算法有異曲同工之妙,互相促進相輔相成的,區域分裂到極致就是分割成單一像素點,然後按照一定的測量准則進行合並,在一定程度上可以認為是單一像素點的區域生長方法。區域生長比區域分裂合並的方法節省了分裂的過程,而區域分裂合並的方法可以在較大的一個相似區域基礎上再進行相似合並,而區域生長只能從單一像素點出發進行生長(合並)。

反復進行拆分和聚合以滿足限制條件的演算法。

令R表示整幅圖像區域並選擇一個謂詞P。對R進行分割的一種方法是反復將分割得到的結果圖像再次分為四個區域,直到對任何區域Ri,有P(Ri)=TRUE。這里是從整幅圖像開始。如果P(R)=FALSE,就將圖像分割為4個區域。對任何區域如果P的值是FALSE.就將這4個區域的每個區域再次分別分為4個區域,如此不斷繼續下去。這種特殊的分割技術用所謂的四叉樹形式表示最為方便(就是說,每個非葉子節點正好有4個子樹),這正如圖10.42中說明的樹那樣。注意,樹的根對應於整幅圖像,每個節點對應於劃分的子部分。此時,只有R4進行了進一步的再細分。

如果只使用拆分,最後的分區可能會包含具有相同性質的相鄰區域。這種缺陷可以通過進行拆分的同時也允許進行區域聚合來得到矯正。就是說,只有在P(Rj∪Rk)=TRUE時,兩個相鄰的區域Rj和Rk才能聚合。
前面的討論可以總結為如下過程。在反復操作的每一步,我們需要做:

可以對前面講述的基本思想進行幾種變化。例如,一種可能的變化是開始時將圖像拆分為一組圖象塊。然後對每個塊進一步進行上述拆分,但聚合操作開始時受只能將4個塊並為一組的限制。這4個塊是四叉樹表示法中節點的後代且都滿足謂詞P。當不能再進行此類聚合時,這個過程終止於滿足步驟2的最後的區域聚合。在這種情況下,聚合的區域可能會大小不同。這種方法的主要優點是對於拆分和聚合都使用同樣的四叉樹,直到聚合的最後一步。

分水嶺分割方法,是一種基於拓撲理論的數學形態學的分割方法,其基本思想是把圖像看作是測地學上的拓撲地貌,圖像中每一點像素的灰度值表示該點的海拔高度,每一個局部極小值及其影響區域稱為集水盆,而集水盆的邊界則形成分水嶺。分水嶺的概念和形成可以通過模擬浸入過程來說明。在每一個局部極小值表面,刺穿一個小孔,然後把整個模型慢慢浸入水中,隨著浸入的加深,每一個局部極小值的影響域慢慢向外擴展,在兩個集水盆匯合處構築大壩,即形成分水嶺。

分水嶺的計算過程是一個迭代標注過程。分水嶺比較經典的計算方法是L. Vincent提出的。在該演算法中,分水嶺計算分兩個步驟,一個是排序過程,一個是淹沒過程。首先對每個像素的灰度級進行從低到高排序,然後在從低到高實現淹沒過程中,對每一個局部極小值在h階高度的影響域採用先進先出(FIFO)結構進行判斷及標注。

分水嶺變換得到的是輸入圖像的集水盆圖像,集水盆之間的邊界點,即為分水嶺。顯然,分水嶺表示的是輸入圖像極大值點。因此,為得到圖像的邊緣信息,通常把梯度圖像作為輸入圖像,即

分水嶺演算法對微弱邊緣具有良好的響應,圖像中的雜訊、物體表面細微的灰度變化,都會產生過度分割的現象。但同時應當看出,分水嶺演算法對微弱邊緣具有良好的響應,是得到封閉連續邊緣的保證的。另外,分水嶺演算法所得到的封閉的集水盆,為分析圖像的區域特徵提供了可能。
為消除分水嶺演算法產生的過度分割,通常可以採用兩種處理方法,一是利用先驗知識去除無關邊緣信息。二是修改梯度函數使得集水盆只響應想要探測的目標。

為降低分水嶺演算法產生的過度分割,通常要對梯度函數進行修改,一個簡單的方法是對梯度圖像進行閾值處理,以消除灰度的微小變化產生的過度分割。即

程序可採用方法:用閾值限制梯度圖像以達到消除灰度值的微小變化產生的過度分割,獲得適量的區域,再對這些區域的邊緣點的灰度級進行從低到高排序,然後在從低到高實現淹沒的過程,梯度圖像用Sobel運算元計算獲得。對梯度圖像進行閾值處理時,選取合適的閾值對最終分割的圖像有很大影響,因此閾值的選取是圖像分割效果好壞的一個關鍵。缺點:實際圖像中可能含有微弱的邊緣,灰度變化的數值差別不是特別明顯,選取閾值過大可能會消去這些微弱邊緣。

參考文章:

圖像分割的一種重要途徑是通過邊緣檢測,即檢測灰度級或者結構具有突變的地方,表明一個區域的終結,也是另一個區域開始的地方。這種不連續性稱為邊緣。不同的圖像灰度不同,邊界處一般有明顯的邊緣,利用此特徵可以分割圖像。

圖像中邊緣處像素的灰度值不連續,這種不連續性可通過求導數來檢測到。對於階躍狀邊緣,其位置對應一階導數的極值點,對應二階導數的過零點(零交叉點)。因此常用微分運算元進行邊緣檢測。常用的一階微分運算元有Roberts運算元、Prewitt運算元和Sobel運算元,二階微分運算元有Laplace運算元和Kirsh運算元等。在實際中各種微分運算元常用小區域模板來表示,微分運算是利用模板和圖像卷積來實現。這些運算元對雜訊敏感,只適合於雜訊較小不太復雜的圖像。

由於邊緣和雜訊都是灰度不連續點,在頻域均為高頻分量,直接採用微分運算難以克服雜訊的影響。因此用微分運算元檢測邊緣前要對圖像進行平滑濾波。LoG運算元和Canny運算元是具有平滑功能的二階和一階微分運算元,邊緣檢測效果較好,

在邊緣檢測演算法中,前三個步驟用得十分普遍。這是因為大多數場合下,僅僅需要邊緣檢測器指出邊緣出現在圖像某一像素點的附近,而沒有必要指出邊緣的精確位置或方向.邊緣檢測誤差通常是指邊緣誤分類誤差,即把假邊緣判別成邊緣而保留,而把真邊緣判別成假邊緣而去掉.邊緣估計誤差是用概率統計模型來描述邊緣的位置和方向誤差的.我們將邊緣檢測誤差和邊緣估計誤差區分開,是因為它們的計算方法完全不同,其誤差模型也完全不同.

Roberts運算元 :邊緣定位準,但是對雜訊敏感。適用於邊緣明顯且雜訊較少的圖像分割。Roberts邊緣檢測運算元是一種利用局部差分運算元尋找邊緣的運算元,Robert運算元圖像處理後結果邊緣不是很平滑。經分析,由於Robert運算元通常會在圖像邊緣附近的區域內產生較寬的響應,故採用上述運算元檢測的邊緣圖像常需做細化處理,邊緣定位的精度不是很高。

Prewitt運算元 :對雜訊有抑製作用,抑制雜訊的原理是通過像素平均,但是像素平均相當於對圖像的低通濾波,所以Prewitt運算元對邊緣的定位不如Roberts運算元。

Sobel運算元 :Sobel運算元和Prewitt運算元都是加權平均,但是Sobel運算元認為,鄰域的像素對當前像素產生的影響不是等價的,所以距離不同的像素具有不同的權值,對運算元結果產生的影響也不同。一般來說,距離越遠,產生的影響越小。

Isotropic Sobel運算元 :加權平均運算元,權值反比於鄰點與中心點的距離,當沿不同方向檢測邊緣時梯度幅度一致,就是通常所說的各向同性。
在邊沿檢測中,常用的一種模板是Sobel 運算元。Sobel 運算元有兩個,一個是檢測水平邊沿的;另一個是檢測垂直平邊沿的 。Sobel運算元另一種形式是各向同性Sobel(Isotropic Sobel)運算元,也有兩個,一個是檢測水平邊沿的,另一個是檢測垂直平邊沿的 。各向同性Sobel運算元和普通Sobel運算元相比,它的位置加權系數更為准確,在檢測不同方向的邊沿時梯度的幅度一致。由於建築物圖像的特殊性,我們可以發現,處理該類型圖像輪廓時,並不需要對梯度方向進行運算,所以程序並沒有給出各向同性Sobel運算元的處理方法。

1971年,R.Kirsch[34]提出了一種能檢測邊緣方向的Kirsch運算元新方法:它使用了8個模板來確定梯度幅度值和梯度的方向。

圖像中的每個點都用8個掩模進行卷積,每個掩模對某個特定邊緣方向作出最大響應。所有8個方向中的最大值作為邊緣幅度圖像的輸出。最大響應掩模的序號構成了對邊緣方向的編碼。
Kirsch運算元的梯度幅度值用如下公式:

不同檢測運算元的對比:

參考文章:

文章引用於 木夜溯
編輯 Lornatang
校準 Lornatang

㈥ image segmentation摘要翻譯=.=

顏色的目標圖像分割是仍然把圖像分成均勻的地區。目標提取、目標識別的統整與分裂是典型的應用程序,使用壓縮分割為低層仍然圖像處理。摘要提出了一種新的方法,色彩分割。該演算法把圖像分成均勻的地區被當地閾值。他們的數量自適應閾值,導出了一個自動過程,是考慮到當地的信息。首先,分水嶺演算法的應用。其結果是作為一個初始化的下一步,是融合過程中迭代。在迭代過程中,區域合並和當地的閾值。一個接一個的閾值確定不同時期的歷史過程。每個閾值進行局部信息和其周圍地區。任何統計信息輸入圖像是無法得到。該演算法是可靠的,具有較強的魯棒性,發現不同類型的圖像。

圖像分割的圖像重疊區域的劃分成…一個地區被定義為一種一元化的連接與尊重,選定一個像素財產有幾種方法可以確定的一個區域,是基於一種特定的目標分割過程例如,它可以用色,灰色層次,紋理、運動、深度的層次,等之間的重疊
地區是不被允許的,因此,每個像素只屬於一個地區兩個相鄰區域應該融合的新組合區是均勻的. 因此,每一個地區預計在盡可能大在它的某些特性然後,總數量的地區就減少了。

㈦ matlab中面積閾值演算法是什麼跪求!!!!謝謝了!!!

第一類是閾值方法,這種方法是根據圖像灰度值得分布特性確定某個閾值來進行圖像分割...MATLAB圖像處理工具箱中的watershed函數可以用於顯示分水嶺演算法。

閱讀全文

與分水嶺演算法是閾值分割嗎相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:485
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163