基于形態(tài)學(xué)的自適應(yīng)閾值分割算法
摘要:針對(duì)在巖石變形實(shí)驗(yàn)的熔融圖像處理中,圖像的曝光不均、單個(gè)像素點(diǎn)灰度值異常和裂痕帶來(lái)的分割噪聲問(wèn)題,本文提出了一種基于數(shù)學(xué)形態(tài)學(xué)中的腐蝕、膨脹方法的自適應(yīng)閾值分割算法,通過(guò)和全局閾值法和局部閾值法的對(duì)比實(shí)驗(yàn)可以看出,這種方法不僅能夠解決全局閾值分割法亮度分布不均的問(wèn)題,也能解決局部閩值分割法(Bernsen算法)抗噪聲性能差的問(wèn)題,同時(shí)運(yùn)算效率提高38.5倍(和Bernsen算法比較)。
在地幔中強(qiáng)烈變形的區(qū)域中存在半熔融巖石,通過(guò)變形對(duì)熔體分布作用的實(shí)驗(yàn),可以研究熔體及其分布對(duì)于地震速度,剪切粘度,電導(dǎo)率等物性的影響。利用實(shí)驗(yàn)研究大變形對(duì)橄欖石集合體的流變性以及微結(jié)構(gòu)的影響具有十分重要的意義,其中如何對(duì)巖石切面圖像進(jìn)行分析、圖像處理以及數(shù)據(jù)統(tǒng)計(jì)是本實(shí)驗(yàn)在分析過(guò)程中不可缺少的關(guān)鍵步驟。目前已有不少數(shù)字圖像處理的理論和優(yōu)秀算法,但是缺少對(duì)于本文中實(shí)驗(yàn)圖像的針對(duì)性處理方法。
一個(gè)熔融圖像處理的過(guò)程,需要幾個(gè)基本步驟:首先,對(duì)原圖進(jìn)行圖像分割,識(shí)別熔融物質(zhì)并生成二值圖,然后,對(duì)二值圖進(jìn)行去噪處理,去除噪聲信息。有些圖像還需要進(jìn)行數(shù)據(jù)統(tǒng)計(jì)和繪制熔融分布等值線。其中,圖像分割是最關(guān)鍵的一步,直接影響圖像處理的質(zhì)量。我們需要處理的熔融圖像是灰度圖,需要把黑色的熔融從灰色的背景中分割出來(lái),并把它們分別變成白色和黑色以便于觀察和統(tǒng)計(jì)。所以這同時(shí)也是一個(gè)二值化的過(guò)程。
由于需要處理的熔融圖像較大,因此采用具有較高運(yùn)算效率的閾值法對(duì)圖像進(jìn)行分割。閾值法的計(jì)算、算法簡(jiǎn)單,是圖像分割中所廣泛運(yùn)用的方法之一,其主要分為:全局閾值法和局部閾值法。
1 全局閾值法
全局閾值法指的是根據(jù)整張圖像的灰度直方圖對(duì)圖像求出最佳的分割閾值,接著整幅圖通過(guò)同一個(gè)閾值(或者幾個(gè)閾值)把所有的灰度值劃分成不同的區(qū)間;局部閾值法是將原始圖像分成多個(gè)子圖像,再對(duì)每個(gè)子圖像采用全局閾值法對(duì)其灰度值進(jìn)行劃分。閾值分隔的結(jié)果主要取決于對(duì)閾值的選擇。
全局閾值二值化法最重要的是從整幅圖像中找到一個(gè)合適的單一閾值,假定記為T(mén)hr。然后整個(gè)圖像像素將被分成兩部分:black和white。用公式表示如式(1)所示:
其中,Ig(x,y)為原始灰度圖像在(x,y)點(diǎn)處的灰度值,Ib(x,y)為在二值化圖像中對(duì)應(yīng)該點(diǎn)的像素值。在灰度級(jí)為[0,1]范圍的灰度圖像中:black=0,white=0;在灰度級(jí)[0,255]范圍的灰度圖像中:black=0,white=0。
一般來(lái)說(shuō),全局閾值分割法主要適用于那些目標(biāo)與背景可以完全分割的灰度圖像,即目標(biāo)與背景在灰度直方圖中成雙峰分布,如圖1所示為某一具有亮目標(biāo)的灰度圖像的一維灰度統(tǒng)計(jì)直方圖,灰度級(jí)為[0,255],其中Thr為最佳閾值。從圖可知,[0,Thr]可劃分為背景區(qū)域,(Thr,255]可劃分為目標(biāo)區(qū)域。
由于待處理圖像往往會(huì)受不均勻光照等因素的影響,導(dǎo)致在整幅圖像中目標(biāo)與背景無(wú)法用單一閾值完全分開(kāi),那么全局閾值分割方法已不再適用,只能采用局部閾值分割算法進(jìn)行處理。我們對(duì)實(shí)驗(yàn)原圖(圖2)進(jìn)行處理,實(shí)驗(yàn)圖像大小為5 600x4 258,采用全局閾值分割的結(jié)果如圖3所示,閾值Thr=110??梢钥吹?,本課題中的熱壓樣本圖像由于原本是相片的緣故,圖像曝光不均造成分割效果不好。
2 局部閾值法
局部閾值分割法是基于局部區(qū)域來(lái)為每個(gè)像素點(diǎn)分別確定一個(gè)閩值,從而構(gòu)造出對(duì)應(yīng)整幅圖像的一個(gè)閾值平面,記為T(mén)hr(x,y)。然后類(lèi)似于全局閾值分割算法,利用閾值平面Thr(x,y)就可以自動(dòng)的完成圖像的二值化操作。局部閾值分割法的關(guān)鍵在于每一個(gè)閾值的選定。一般是取該窗口的平均值,這就導(dǎo)致在每一個(gè)窗口內(nèi)仍然出現(xiàn)的是全局分割法的缺陷。為了解決這個(gè)問(wèn)題,就出現(xiàn)了局部自適應(yīng)分割法。
Bernsen算法是一種典型的局部閾值算法,其基本思想是:對(duì)當(dāng)前點(diǎn)(i,j)為中心的大小為(2ω+1)×(2ω+1)(單位像素,下同)的窗口中所有像素的最大值Max與最小值Min兩者的平均值T作為閾值Thr。由于Bernsen算法對(duì)每一個(gè)像素點(diǎn)都進(jìn)行運(yùn)算一次,因此在運(yùn)算像素密度多的圖像時(shí)的效率較低,并且由于閾值Thr取窗口內(nèi)的最大值與最小值的均值,因此容易受到噪聲的影響,這種方法在算法上處理曝光度不均的圖像理論上合理,但是也存在一定的局限性。
我們采用Bernsen算法對(duì)實(shí)驗(yàn)原圖(圖2)進(jìn)行處理,采用的窗口大小為101×101,實(shí)驗(yàn)結(jié)果如圖4所示,該算法對(duì)比全局閾值分割算法,優(yōu)勢(shì)在于能夠平衡相片中因曝光不均而導(dǎo)致的亮度分布差異。但該算法在細(xì)節(jié)處理上出現(xiàn)的問(wèn)題較為明顯,圖像表明,該方法的抗噪性能較弱,因?yàn)閷?shí)驗(yàn)原圖中存在噪聲,當(dāng)噪聲為單個(gè)白點(diǎn)時(shí),以白點(diǎn)為中心,邊長(zhǎng)為102個(gè)像素的正方形區(qū)域內(nèi)的分割效果較差。當(dāng)噪聲為白色裂痕、條帶時(shí),在白色裂痕周?chē)泊嬖谙鄳?yīng)的二值化分割效果差的區(qū)域,因此在局部區(qū)域的分割效果不理想。并且,該算法在邊界上的識(shí)別、分割效果與白色裂痕周?chē)膮^(qū)域一樣,使得原本為實(shí)驗(yàn)區(qū)背景的點(diǎn)因局部閾值所取窗口內(nèi)包含灰度值異常高的緣故而被識(shí)別為熔融物質(zhì)。除此之外,由于圖像較大,而實(shí)驗(yàn)原圖像的大小是5 600x4 258,又因?yàn)楸舅惴ㄐ枰獙?duì)每一個(gè)像素點(diǎn)進(jìn)行運(yùn)算一次,這意味著需要運(yùn)算2 000萬(wàn)次以上的循環(huán),實(shí)際運(yùn)行結(jié)果表明,算法運(yùn)算時(shí)間為1 387.1 s。
3 基于形態(tài)學(xué)的自適應(yīng)閾值分割算法
綜合局部閾值分割算法能夠平衡相片中亮度分布不均的優(yōu)勢(shì),針對(duì)其抗噪性能差、因窗口內(nèi)存在異常值而降低分割效果的問(wèn)題,本文根據(jù)熔融物質(zhì)呈粒狀、連通面積小的特點(diǎn),提出了一種基于圖像形態(tài)學(xué)中的腐蝕、膨脹方法的自適應(yīng)閾值分割算法。
形態(tài)學(xué)通常指生物學(xué)中對(duì)動(dòng)植物的形狀和結(jié)果進(jìn)行處理的一個(gè)分支。數(shù)學(xué)形態(tài)學(xué)是根據(jù)形態(tài)學(xué)概念發(fā)展而來(lái)的、具有嚴(yán)格數(shù)學(xué)理論基礎(chǔ)的科學(xué),在圖像處理和模式識(shí)別領(lǐng)域得到了成功應(yīng)用。不僅可以作為抽取圖像中區(qū)域形狀特征,如邊界、骨骼和凸殼等,也經(jīng)常用于圖像的預(yù)處理和后處理,如:形態(tài)學(xué)濾波、細(xì)化和修剪等。
形態(tài)學(xué)圖像分析的基本步驟:
1)提取所要描述的物體的幾何結(jié)構(gòu)特征;
2)根據(jù)結(jié)構(gòu)特征選擇相應(yīng)的結(jié)構(gòu)元素;
3)用選定的結(jié)構(gòu)元對(duì)圖像實(shí)行擊中與否的形態(tài)學(xué)變換后,可以突出原始圖像的物體特征信息,從而可以方便提取信息。
本文提出的算法首先考慮先將原灰度圖(圖2)取反,定義合適大小、形狀的膨脹和腐蝕的運(yùn)算模板(結(jié)構(gòu)元),分別對(duì)圖像進(jìn)行連續(xù)兩次膨脹與連續(xù)兩次腐蝕,因此可以在保留實(shí)驗(yàn)大致背景的同時(shí),消除熔融物質(zhì)所對(duì)應(yīng)的像素點(diǎn),再將進(jìn)行圖像形態(tài)學(xué)運(yùn)算前后的兩張圖進(jìn)行相減、再取反,將相減取反后得到的圖像采用全局分割算法,得到二值圖(圖5)。
如圖5所示,圖中的黑色像素點(diǎn)表示識(shí)別生成熔融物質(zhì),其灰度值為0,白色的點(diǎn)表示非熔融物質(zhì),其值為1。整個(gè)算法的原理簡(jiǎn)單,通過(guò)形態(tài)學(xué)膨脹與腐蝕的算法,使熔融物質(zhì)附近的背景區(qū)域覆蓋熔融物質(zhì),再讓原圖減去新生成的圖,即可去除背景,保留熔融物質(zhì)。整個(gè)算法的優(yōu)點(diǎn)在于:
1)可以平衡圖像中整體的亮度分布差異;
2)消除因局部區(qū)域單個(gè)像素點(diǎn)灰度值異常帶來(lái)的分割噪聲;
3)消除了因白色裂痕周?chē)纬傻姆指钤肼?
4)運(yùn)算效率高,在與進(jìn)行基于Bernsen算法的局部分割算法同樣配置的機(jī)器上,整個(gè)程序運(yùn)行完的時(shí)間一共為36.0 s;
5)消除了因窗口帶來(lái)的邊界效應(yīng);
6)減少了識(shí)別時(shí)在實(shí)驗(yàn)邊界上的噪聲。
整個(gè)算法的缺點(diǎn):仍然沒(méi)能消除實(shí)驗(yàn)邊界上部分實(shí)驗(yàn)區(qū)背景的像素點(diǎn)被識(shí)別為熔融物質(zhì)的噪聲情況,因此還需要對(duì)該圖進(jìn)行后續(xù)去除邊界噪聲的處理。
4 結(jié)論
針對(duì)熔融圖像中曝光度不均勻、噪聲點(diǎn)多的問(wèn)題,根據(jù)熔融物質(zhì)呈粒狀、連通面積小的特點(diǎn),我們提出了基于形態(tài)學(xué)的自適應(yīng)閾值分割算法。通過(guò)對(duì)比三種不同的閾值分割法對(duì)熔融灰度圖像的處理效果,可以發(fā)現(xiàn)該方法能夠較完美地解決灰度圖亮度不均對(duì)閾值分割法識(shí)別過(guò)程中的影響,并且生成的二值圖效果很好,達(dá)到實(shí)驗(yàn)要求。