李旗 魏楚
摘? ?要:文章采用分水嶺算法進行遙感圖像分割操作,并針對算法執(zhí)行過程中所產(chǎn)生的過分割問題,采用了形態(tài)學(xué)處理函數(shù)進行圖像處理和標(biāo)記符的提取,并使用Matlab R2015a圖像處理軟件對圖像分割過程進行模擬,最后利用Matlab GUI平臺構(gòu)建了基于分水嶺算法圖像分割的系統(tǒng)。
關(guān)鍵詞:圖像分割;數(shù)學(xué)形態(tài)學(xué);分水嶺變換;分水嶺算法
隨著科技的日益發(fā)展,媒介技術(shù)、攝影技術(shù)和數(shù)字化圖像技術(shù)的發(fā)展和應(yīng)用,人們可以從圖像中快速、直觀地獲取大量信息。然而,在通過圖像快速、直觀獲取大量信息的同時,會發(fā)現(xiàn)并不是所有的信息都是我們所需要的,多余的信息會給計算機獲取與處理圖像帶來不便,使遙感圖像快速解譯、人臉識別、車牌識別等技術(shù)難以實現(xiàn)。圖像分割技術(shù)是圖像處理的一項重要技術(shù),在計算機模式識別領(lǐng)域有著重要的意義,成功的分割有利于目標(biāo)特征的提取、描述、識別和分類,可以使計算機變得更加智能,使其廣泛地應(yīng)用于軍事、遙感影像分析、智能交通、醫(yī)學(xué)圖像分析、通信、農(nóng)業(yè)現(xiàn)代化和工業(yè)自動化等諸多領(lǐng)域。
近年來,隨著各領(lǐng)域不斷引入新的理論和方法,人們將這些方法應(yīng)用于圖像分割領(lǐng)域。潘婷婷基于數(shù)學(xué)形態(tài)學(xué)和分水嶺算法[1],進行了遙感圖像的目標(biāo)識別。路正佳基于改進分水嶺算法的彩色圖像分割方法[2],建立了基于偏微分方程的去噪模型。每種圖像分割方法各有優(yōu)缺點,對其存在的問題而言基于邊緣的分割方法受隨機噪聲和邊界模糊的影響會出現(xiàn)邊界間斷等問題?;陂撝档姆指罘椒▋H考慮圖像的像素灰度,忽略圖像的空間信息和紋理信息,導(dǎo)致分割精度低、可靠性低、分割效果不理想。區(qū)域生長法受噪聲影響大易出現(xiàn)錯誤分割,而分割合并法也依賴于初始化分割的質(zhì)量,且過程復(fù)雜、計算量大。與其他方法相比,基于分水嶺算法的圖像分割具有定位精確、對微弱邊緣具有良好反應(yīng)等特點。但是由于圖像中物體表面一些細微的灰度變化和隨機噪聲的影響,使用分水嶺算法會出現(xiàn)嚴(yán)重的過分割現(xiàn)象。效果良好的圖像分割應(yīng)該有以下特點:(1)分割出來的各個區(qū)域內(nèi)對某種特定性質(zhì)的視覺信息具有相似性。(2)相鄰區(qū)域之間對某種特定性質(zhì)的視覺信息具有明顯差別。(3)分割區(qū)域有明顯的邊界,區(qū)域之間互不重疊。
1? ? 算法及原理
1.1? 分水嶺算法基本原理
分水嶺算法是數(shù)學(xué)形態(tài)學(xué)上一種基于拓撲理論的圖像分割方法,該算法的微弱邊緣敏感可以用來獲取圖像中連通、封閉并且位置精確的物體輪廓。最基本的思想是將一幅數(shù)字圖像的灰度梯度圖看成一個三維地形圖,并將每個像素的灰度值看作三維地形圖中對應(yīng)點的海拔,由于梯度圖可以很好地反映圖像中物體的邊緣信息,原圖中物體邊緣灰度變化劇烈而導(dǎo)致梯度值大,故邊緣可以表示為海拔高的山脊,而物體主體則表示為被山脊包圍的匯水盆地。
降雨排水模型是在三維地形圖上模擬降水的過程,將圖像分為不重疊的水域集合,通過梯度信息決定雨滴接觸地面后的流動方向,并確定一系列區(qū)域最小值點,流向同一最小值的不連通區(qū)域形成聚水盆地。浸水模型則是模擬將地形圖的模型平放入水中,并在每一個盆地的最低點弄一個小孔,讓水從小孔上溢。這兩種模型都會造成水位的不斷上升,當(dāng)上升到一定的高度,兩個匯水盆地就會連通,為了防止這種情況,就需要在山脊上修筑堤壩,隨著水位上漲,堤壩也不斷增高。達到最高的山脊時,整個地形圖被堤壩完全分割成不同的區(qū)域,最終分水嶺變換會在灰度圖像上找到脊線和匯水盆地,分割結(jié)束。在這個過程中不可避免遇到的問題就是堤壩的修筑。水壩的構(gòu)筑是以二值圖像為基礎(chǔ)的,構(gòu)建堤壩最常見的方法是形態(tài)學(xué)膨脹。
1.2? 數(shù)學(xué)形態(tài)學(xué)原理
膨脹和腐蝕兩個操作是形態(tài)學(xué)處理的基礎(chǔ)。膨脹過程可以描述為:將結(jié)構(gòu)元素從圖像左上角開始順序移動,直至它移動到某個位置時,滿足結(jié)構(gòu)元素原點位。腐蝕過程可以描述為:將結(jié)構(gòu)元素從圖像左上角開始順序移動,當(dāng)它移動到某個位置時,滿足結(jié)構(gòu)元素原點位置(x1,y1)在圖像目標(biāo)區(qū)域A中,并且此時結(jié)構(gòu)元素區(qū)域全部包含在目標(biāo)區(qū)域A中,則保留該位置上的像素點即(x1,y1),否則刪除該點,直到移動結(jié)束為止。置(x1,y1)在圖像目標(biāo)區(qū)域A中,并且此時結(jié)構(gòu)元素區(qū)域與目標(biāo)區(qū)域A相交不為空集,則保留該位置上的像素點即(x1,y1),直到移動結(jié)束為止。
開運算一般會平滑物體的輪廓,去除圖像中比結(jié)構(gòu)元素小的亮細節(jié)(斷開較窄的連接,消除細的突出物),并且能保持圖像整體的灰度值和較大部分的亮度區(qū)域信息與原圖大致相似。閉運算會連接狹窄的間斷和細小的狹縫,去除圖像中比結(jié)構(gòu)元素小的暗細節(jié),并且能保持圖像整體的灰度值和明亮部分與原圖大致相似。
2? ? 研究分析
應(yīng)用分水嶺分割算法對梯度圖像的分割效果往往不好,伴隨著嚴(yán)重的過分割現(xiàn)象。為了解決過分割現(xiàn)象,本研究采用以下措施:對圖像進行標(biāo)記后再進行分水嶺分割,該方法在分割前設(shè)定一些標(biāo)記,每一個標(biāo)記表示一個物體的存在,再把這些標(biāo)記強制轉(zhuǎn)換為梯度的極小值,以此為基礎(chǔ)進行分割。本研究通過Matlab實驗操作實現(xiàn)基于標(biāo)記的分水嶺圖像分割算法。以下是該方法的步驟:(1)打開遙感影像,讀取圖像:A3=imread(.tif),顯示圖像:imshow(A3)。(2)將彩色圖像轉(zhuǎn)換為灰度圖像,核心代碼:I=rgb2gray(A3)。(3)數(shù)學(xué)形態(tài)學(xué)處理(根據(jù)原圖大小666×1 000像素,以及圖中對象形狀選擇半徑為6的圓盤結(jié)構(gòu)元素),形態(tài)學(xué)開運算:Io=imopen(I, se1),形態(tài)學(xué)膨脹:Id=imdilate(I,se1),形態(tài)學(xué)腐蝕:Ie=imerode(I,se1),形態(tài)學(xué)開閉運算:Ioc=imclose(Io,se1),形態(tài)學(xué)閉運算:Ic=imclose(I,se1)。(4)對比度增強(采用高帽變換和低帽變換),核心代碼:Itop=imtophat(Iobrcbr,se)。(5)梯度提取,核心代碼:hy=fspecial('sobel')。(6)提取前景標(biāo)記,核心代碼:Iec=imcomplement(Iobrcbr)。(7)提取背景標(biāo)記,利用mextendedmin函數(shù)拓展局部最小值變?yōu)檫壿媹D,令bgm=DL==0。(8)限制局部極小值,令GRADE2=imimposemin(GRADE1, bgm | fgm3)。
3? ? 系統(tǒng)設(shè)計
本系統(tǒng)利用Matlab中的GUIDE,設(shè)計一個面向?qū)ο蟮目梢暬僮飨到y(tǒng),并通過回調(diào)函數(shù)代碼編寫實現(xiàn)對圖像的多種形態(tài)學(xué)處理和分水嶺分割功能。
系統(tǒng)界面包括3個部分:第一部分:圖像處理面板。該部分由按鈕控件組成,集中了本系統(tǒng)所有圖像處理操作,并于菜單中功能完全同步。第二部分:當(dāng)前圖像??梢源髨D顯示圖像,通過下拉菜單可以選擇切換圖像。第三部分:圖像信息??梢燥@示灰度直方圖。
具體使用步驟如下:(1)通過在Matlab命令行輸入“guide”,調(diào)出Matlab圖形用戶界面開發(fā)環(huán)境GUIDE快使用啟動對話框。(2)選擇建立新的空白GUI,進入窗體編輯界面,雙擊已經(jīng)拖入面板的控件,進入控件屬性編輯界面可以對控件的顯示和參數(shù)進行編輯。(3)點擊菜單中的Tools->Menu Editor,進入菜單編輯界面,此界面可以添加主菜單和子菜單,修改菜單名和Tag,也可以通過點擊Callback后的View進入該菜單項回調(diào)函數(shù)編寫。
4? ? 結(jié)語
圍繞基于分水嶺算法的圖像分割方法展開研究,主要研究成果與結(jié)論如下:(1)針對算法執(zhí)行過程中所產(chǎn)生的過分割問題,采用了形態(tài)學(xué)處理函數(shù)進行圖像處理,改進了圖像分割,結(jié)果表明該方法可以有效地抑制過分割問題。(2)在分割過程中通過提取標(biāo)記,可以有效控制圖像過分割和提高分割精度。
存在的不足:首先,在對圖像進行形態(tài)學(xué)處理的過程中,選取不同結(jié)構(gòu)元素的結(jié)果差異沒能凸顯出來。其次,構(gòu)建的基于分水嶺算法圖像分割系統(tǒng)中,一些形態(tài)學(xué)操作功能由于軟件問題輸出的結(jié)果與利用命令行輸出的結(jié)果存在差異。
[參考文獻]
[1]潘婷婷.數(shù)學(xué)形態(tài)學(xué)和分水嶺算法在遙感圖像目標(biāo)識別中的應(yīng)用研究[D].無錫:江南大學(xué),2008.
[2]路正佳.基于改進分水嶺算法的彩色圖像分割方法[J].科技通報,2018(9):172-174.
Research on remote sensing image segmentation based on watershed algorithm
Li Qi1, Wei Chu2*
(1.School of Tourism and Geographical Science, Yunnan Normal University, Kunming 650500, China;
2.School of Information, Yunnan Normal University, Kunming 650500, China)
Abstract:In this paper, the watershed algorithm is used to segment the remote sensing image, and for image gererated by over-segmentation in the process of segmentation, using morphological processing function to process image and extract marks. Using Matlab R2015a image processing software to simulate this process and using Matlab GUI platform to construct the system of reomte sensing image segmentation based on the watershed algorithm.
Key words:image segmentation; mathematical morphology; watershed transform; watershed algorithm