算法類圖像分割_第1頁
算法類圖像分割_第2頁
算法類圖像分割_第3頁
算法類圖像分割_第4頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、圖像分割的一些簡單實現(xiàn)CND8學(xué)院Delphi發(fā)布日期:圖像分割中閾值的自動選取的研究及其算法實現(xiàn)圖像分割是圖像處理這門學(xué)科中的基礎(chǔ)難題,基于閾值的分割則又是圖像分割的最基本的難題之一,其難點在于閾值的選取。事實證明,閾值的選擇的恰當(dāng)與否對分割的效果起著決定性的作用。由于閾值選取對圖像分割的基礎(chǔ)性,本文主要在【1】、【2】、【3】、【4】等的基礎(chǔ)上,對一些當(dāng)前流行的閾值選取算法做了探討、實現(xiàn)和比較。多閾值分割雖然能進(jìn)一步提高圖像分割的質(zhì)量,但由于它只是分割技巧的處理問題,而與單閾值分割并無本質(zhì)的區(qū)別。因此本文并不對多閾值分割進(jìn)行,而只考慮單閾值分割的情形。1 雙峰法雙峰法的原理及其簡單:它認(rèn)為

2、圖像由前景和背景組成,在灰度直方圖上,前后二景都形成,在雙峰之間的最低谷處就是圖像的閾值所在。根據(jù)這一原理,給出了它的實現(xiàn),部分代碼如下(Pascal 語言描述,以下同):/Peak、Peak2、Valley:峰值和直方圖值/Indx::相應(yīng)的灰度值Peak,Indx,Peak2,Indx2,Valley,ValleyIndx:eger;/初始雙峰值Peak:=0; Peak2:=0;/取得第一峰值forifLoop:=0 to 255 doPeak=GrayLevelLoop thenbeginPeak:=GrayLevelLoop;Indx:=Loop;end;/取得第二峰值for Beg

3、inifLoopLoop:=0 to 255 do(Peak2=GrayLevelLoop)and(Indx) thenbeginPeak2:= Indx2:=endend;GrayLevelLoop;Loop;/取得雙峰之間的谷值Valley:=Size;ifIndx2GrayLevelLoop thenbeginValley:= ValleyIndx:=end;GrayLevelLoop;Loop;從分割的效果來看,當(dāng)前后景的對比較為強(qiáng)烈時,分割效果較好;否則基本無效。2 迭代法迭代法是基于近的,其步驟如下:求出圖象的最大灰度值和最小灰度值,分別記為ZMAX 和ZMIN,令初始閾值 T0=

4、(ZMAX+ZMIN)/2;根據(jù)閾值 TK 將圖象分割為前景和背景,分別求出兩者的平均灰度值ZO 和 ZB;求出新閾值 TK+1=(ZO+ZB)/2;若 TK=TK+1,則所得即為閾值;否則轉(zhuǎn)2,迭代計算。以下給出迭代求閾值的部分實現(xiàn):/閾值初始為0 ThresholdVal:=0;ThresholdVal2:=0;/總灰度值TotalGrayLevel:=0;forifLoop:=0 to 255 doGrayLevelLoop0 thenTotalGrayLevel:=TotalGrayLevel+Loop*GrayLevelLoop;/求出初始最大灰度值forifLoop:=0 to 2

5、55 doGrayLevelLoop0 thenbeginLGrayLevel:=Loop;ThresholdVal:= break;end;Loop;/求出初始最小灰度值和初始閾值forifLoop:=255 downto 0 doGrayLevelLoop0 thenbeginRGrayLevel:= ThresholdVal:=(break;end;Loop;ThresholdVal+Loop)div 2;/迭代求解whilebeginThresholdValThresholdVal2 doThresholdVal2:=Count:=0; LGrayLevel:=0;ThresholdV

6、al;forifLoop:=0 toGrayLevelThresholdVal doLoop0 thenbeginCount:=Count+GrayLevelLoop;LGrayLevel:= oop;end;LGrayLevel+Loop*GrayLevelLRGrayLevel:=TotalGrayLevel-LGrayLevel;Count;LGrayLevel:= RGrayLevel:=Count);ThresholdVal:=(LGrayLevel divRGrayLeveldiv(Size-LGrayLevel+RGrayLevel)div2;end;迭代所得的閾值分割的圖象效果

7、良好?;诘拈撝的軈^(qū)分出圖像的前景和背景的主要區(qū)域所在,但在圖像的細(xì)微處(如圖1中的淺色線條)還沒有很好的區(qū)分度。但令人驚訝的是,對某些特定圖象,微小數(shù)據(jù)的變化卻會引起分割效果的巨大改變,兩者的數(shù)據(jù)只是稍有變化,但分割效果卻反差極大,個中原因還有待進(jìn)一步研究。3(OTSU 法)由大津于1979年提出,對圖像 Image,記 t 為前景與背景的分割閾值,前景點數(shù)占圖像比例為 w0, 平均灰度為 u0;背景點數(shù)占圖像比例為 w1,平均灰度為 u1。圖像的總平均灰度為:u=w0*u0+w1*u1。從最小灰度值到最大灰度值遍歷t,當(dāng) t 使得值 g=w0*(u0-u)2+w1*(u1-u)2最大時

8、t 即為分割的最佳閾值。對可作如下理解:該式實際上就是類間方差值,閾值 t 分割出的前景和背景兩部分了整幅圖像,而前景取值 u0,概率為 w0,背景取值 u1,概率為 w1,總均值為 u,根據(jù)方差的定義即得該式。因方差是灰度分布均勻性的一種度量,方差值越大,說明圖像的兩部分差別越大,當(dāng)部分目標(biāo)錯分為背景或部分背景錯分為目標(biāo)都會導(dǎo)致兩部分差別變小,因此使類間方差最大的分割意味著錯分概率最小。直接應(yīng)用計算量較大,因此在實現(xiàn)時采用了等價的公式 g=w0*w1*(u0-u1)2。部分計算過程如下:/遍歷所有灰度值求 Max g。forCurrentLevel:=0 toArrLen dobeginif

9、SclGrayLevel continueelsebeginCurrentLevel=0 then/計算當(dāng)閾值為Count:=0;CurrentLevel 時的 gSumPels:=0;forLoop:=0 toCurrentLevel dobeginCount:=Count+SclGrayLevelLoop;SumPels:=SumPels+SumPelsArrLoop;end;w0:=Count/Size;Count;u0:=SumPels/w1:=1-w0;ifSize-Count0 thenu1:=(TotalPels- elseu1:=0;SumPels)/(Size-Count)R

10、lTempO:=w0*w1*(u0-u1)*(u0-u1); if RlTempORlMaxO thenbeginRlMaxO:=RlTempO;Result:= end;end;CurrentLevel;在測試中發(fā)現(xiàn):選取出來的閾值非常理想,對各種情況的表現(xiàn)都較為良好。雖然它在很多情況下都不是最佳的分割,但分割質(zhì)量通常都有一定的保障,可以說是最穩(wěn)定的分割。由上可知,大津算法是一種較為通用的分割算法。在它的的啟迪下,人們進(jìn)一步提出了多種類似的評估閾值的算法,具體可參加【5】、【6】等。4 灰度拉伸一種改進(jìn)的得到了廣泛的應(yīng)用,但有人發(fā)現(xiàn),致命的缺陷是當(dāng)目標(biāo)物與背景灰度差不明顯時,會出現(xiàn)受的大塊黑

11、域,甚至?xí)G失整幅圖像的信息。為了解 決這個問題,有人提出了灰度拉伸的增強(qiáng)。這種方法的原理其實就是在的基礎(chǔ)上通過增加灰度的級數(shù)來增強(qiáng)前后景的灰度差,從而解決問題?;叶仍黾?的方法是用原有的灰度級乘上同一個系數(shù),從而擴(kuò)大灰度的級數(shù),特別地,當(dāng)乘上的系數(shù)為1時,這就是可以看做是這種方法的一個特例。的原型,因此,在實現(xiàn)中,實現(xiàn)了多種灰度拉伸,發(fā)現(xiàn)對不同的圖像,當(dāng)遇上不同的拉伸系數(shù)時,分割效果也相差甚遠(yuǎn)。5 Kirsh 算子在【4】中提出了基于 Kirsh 算子的分割方法,其為:對數(shù)字圖像的每個像素 i,考慮它的八個鄰點的灰度值,以其中三個相鄰點的和減去剩下五個鄰點的和得到差值,令三個鄰點繞該像素點不

12、斷移位,取此八個差值的最大值作為 Kirsh 算子。即:設(shè) Si 為三鄰點之和,Ti 為五鄰點之和,則 Kirsh 算子定義為 K(i)=max1,max5Si-3Ti如取閾值 THk,則當(dāng) K(i)THk 時,像素 i 為階躍邊緣點。此外,【4】的作者認(rèn)為:假設(shè)圖像大小為HW 個像素點,其邊緣點像素一般不會超過5H 個?;谶@一假設(shè),該文作者提出:(對一幅圖像)用 Kirsh 算法,取某一較低的初始閾值 THk(以保證目標(biāo)和背景間灰度變化很小的圖像邊緣也能被取出),對于每個像素點 i 計算其Kirsh 算子,如果 K(i)THk,則 i 為邊緣點,邊緣點數(shù) N(初始值為0)加1,一旦邊緣點數(shù)

13、超過 5H,而 i 還小于整幅圖像的像素數(shù),說明閾值取得太低,致使許多不是邊緣點的像素也被取出,因此需提高閾值。如此反復(fù),即可獲得分割圖像所需的閾值。但在實現(xiàn)中,本文作者發(fā)現(xiàn),【4】中的敘述頗有值得探討之處,如在 HW 圖像中,H 和 W 之間的關(guān)系是完全對稱的 , 兩 者 之 間 如 何 抉 擇 ? 此 外 , 在 求 Kirsh 算 子K(i)=max1,max5Si-3Ti時也頗有疑慮之處,由其求得的結(jié)果分割圖像效果并不明顯?;趯ΨQ性和歸一化的考慮,筆者把 Kirsh 算子改為: K(i)=max1,max abs(5Si-3Ti) div 15 ,并根據(jù)在實際運行中的效果,對 W 和 H 的選取為:if WH then use 5*H else use 5*W。在實際應(yīng)用中表明,修改后的分割質(zhì)量顯著提高。但與【4】文中作者聲稱的效果及其示例相比,仍有相當(dāng)?shù)木嚯x,特別是它不能解決前后景對比不強(qiáng)烈時的分割情形。但當(dāng)前后背景對比十分強(qiáng)烈且集中時,Kirsh 算子法卻會有十分突出的表現(xiàn)。參考文獻(xiàn)【1】,數(shù)字圖像處

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論