專利名稱:一種分水嶺圖象分割處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像分割處理方法,尤其是涉及一種形態(tài)學(xué)分水嶺圖像分割處理方法。
背景技術(shù):
圖像分割分水嶺方法最初由Digabel和Lantujoul引入圖像處理領(lǐng)域,用于分析簡(jiǎn)單的二值圖像,Meyer于1990年提出了最原始的形態(tài)學(xué)分水嶺分割方法(Meyer F,Beucher S.Morphological Segmentation[J].Journal of Visual Communication and ImageRepresentation,1990,1(1)21-46.),但是該方法計(jì)算復(fù)雜度極高,實(shí)現(xiàn)起來非常困難,Vincent和Soille在1991年提出了快速的形態(tài)學(xué)分水嶺方法(Luc Vincent,Pierre Soille、Watersheds inDigital SpacesAn Efficient Algorithm Based on Immersion Simulations、IEEE Transactions onpattern analysis and machine intelligence、JUNE 1991、VOL.13、NO.6、PAGE 583-598),使分水嶺的理論得以建立,并大量用于灰度圖像的分割之中。分水嶺變化基本上克服了閾值分割、邊緣檢測(cè)方法的缺點(diǎn),且又分割精細(xì),是一種全新的圖像分割方法。近幾年來針對(duì)圖像分割分水嶺方法的研究仍在繼續(xù),但是由于分水嶺方法的計(jì)算復(fù)雜度相對(duì)較高,始終沒有一種方法能夠滿足實(shí)時(shí)高速圖像分割場(chǎng)合的應(yīng)用。在眾多現(xiàn)有的分水嶺方法中,Vincent與Soille提出的基于沉浸模擬的方法是最著名的,也是最快的方法。該方法包括兩個(gè)部分第一部分為排序;第二部分為泛洪。方法可簡(jiǎn)述如下(其中步驟1為排序。步驟2至步驟6為泛洪) 步驟1首先計(jì)算圖像中各點(diǎn)的梯度,然后掃描整幅圖像得到梯度圖像的直方圖和各梯度層的概率密度。各像素點(diǎn)在排序數(shù)組中的位置由梯度分布的累積概率與該像素點(diǎn)的梯度值計(jì)算得到。計(jì)算出所有像素點(diǎn)的排序位置并將其存入排序數(shù)組。在排序后的數(shù)組中,梯度值越低的點(diǎn)存放的位置越靠前。
步驟2像素點(diǎn)按梯度值從低到高的順序處理,相同梯度值的點(diǎn)作為一個(gè)梯度層級(jí)。
步驟3處理一個(gè)梯度層級(jí)hcur(當(dāng)前層),首先將該層中所有鄰域已被標(biāo)識(shí)的點(diǎn)加入到一個(gè)先進(jìn)先出隊(duì)列中去。
步驟4若先進(jìn)先出隊(duì)列非空。則彈出隊(duì)列的首元素作為當(dāng)前處理像素。順序處理當(dāng)前像素所有高度為hcur的相鄰點(diǎn)。如果鄰點(diǎn)已被標(biāo)識(shí)則根據(jù)該鄰點(diǎn)標(biāo)識(shí)刷新當(dāng)前像素點(diǎn)的標(biāo)識(shí)。如果鄰點(diǎn)尚未標(biāo)識(shí),則將該鄰點(diǎn)加入到先進(jìn)先出隊(duì)列中去循環(huán)執(zhí)行本步直至隊(duì)列空為止。
步驟5再一次掃描當(dāng)前梯度層級(jí)的像素點(diǎn)。檢查是否仍有未標(biāo)識(shí)點(diǎn)。此時(shí)的未標(biāo)識(shí)點(diǎn)意味著一個(gè)新的極小區(qū)。因此。如果發(fā)現(xiàn)未標(biāo)識(shí)點(diǎn),則將當(dāng)前區(qū)域標(biāo)識(shí)值加1,并將該值賦為未標(biāo)識(shí)點(diǎn)的標(biāo)識(shí)值。然后,從該點(diǎn)出發(fā)執(zhí)行與步驟4相同的泛洪步驟。標(biāo)識(shí)該極小區(qū)的所有像素點(diǎn)。
步驟6返回步驟3處理下一梯度層級(jí)。直至將所有梯度層級(jí)都處理完畢為止。
在以往分水嶺圖象分割方法中,每個(gè)像素點(diǎn)平均被掃描多次,如Vincent-Soille提出的方法排序過程兩次,泛洪過程三次,共五次,因此其執(zhí)行時(shí)間為線性。
對(duì)于某些實(shí)時(shí)性要求較高的方法而言(實(shí)時(shí)視頻分割),其計(jì)算開銷仍然過大。因此,一種快速有效的分水嶺方法成為圖像學(xué)研究的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種快速有效的分水嶺圖像處理方法,其分為三步完成,即分水嶺方法的前處理過程,分水嶺過程和分水嶺后處理過程,其方法流程如圖1所示。
一種分水嶺圖像分割處理方法,其步驟為 1)將原始圖像通過一低通濾波器進(jìn)行濾波; 2)對(duì)圖像每個(gè)像素點(diǎn)進(jìn)行平滑處理,得到平滑的圖像; 3)分別求出圖像各象素點(diǎn)的水平梯度和垂直梯度,取梯度較大者作為該點(diǎn)的梯度,提取出圖像的邊界,得到梯度圖像; 4)遍歷各個(gè)象素點(diǎn)得出梯度圖像的直方圖和各梯度層的概率密度,再次遍歷各個(gè)象素點(diǎn)得出每個(gè)象素點(diǎn)在排序數(shù)組中的位置,對(duì)象素點(diǎn)進(jìn)行排序; 5)對(duì)梯度圖像進(jìn)行標(biāo)號(hào),其方法為判斷當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)是否已經(jīng)被標(biāo)號(hào)若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)存在已經(jīng)標(biāo)號(hào)的點(diǎn),則當(dāng)前處理點(diǎn)的標(biāo)號(hào)等于該標(biāo)號(hào);若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)不存在已經(jīng)標(biāo)號(hào)的點(diǎn),則當(dāng)前處理點(diǎn)為新標(biāo)號(hào); 6)順序掃描每一梯度層的各像素點(diǎn),并在掃描過程中直接判定出每一點(diǎn)的標(biāo)號(hào);所述判定出每一點(diǎn)標(biāo)號(hào)的方法為根據(jù)當(dāng)前處理點(diǎn)的上下左右四鄰點(diǎn)已有標(biāo)號(hào)的種類進(jìn)行判定,若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)只有一種標(biāo)號(hào),則當(dāng)前處理點(diǎn)的標(biāo)號(hào)等于該標(biāo)號(hào);若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)有兩種或兩種以上的標(biāo)號(hào),則當(dāng)前處理點(diǎn)位于兩個(gè)或兩個(gè)以上區(qū)域的交界處,當(dāng)前處理點(diǎn)為分水嶺點(diǎn);若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)均未標(biāo)號(hào),則當(dāng)前處理點(diǎn)為新標(biāo)號(hào); 7)將標(biāo)號(hào)相同的點(diǎn)劃為一個(gè)區(qū)域,不同的區(qū)域用分水嶺線加以分割,從而實(shí)現(xiàn)圖象分割。
所述排序數(shù)組為整幅圖像依梯度值從小到大的一個(gè)一維排序數(shù)組,梯度小的點(diǎn)排在梯度大的點(diǎn)的前面,左上方的點(diǎn)排在右下方點(diǎn)的前面。
所述方法對(duì)梯度值設(shè)有一閾值,梯度值小于閾值的點(diǎn)標(biāo)號(hào)設(shè)為零。
所述方法在區(qū)域劃分中對(duì)已標(biāo)號(hào)區(qū)域內(nèi)的點(diǎn)數(shù)設(shè)有一閾值,如果已標(biāo)號(hào)區(qū)域內(nèi)的點(diǎn)數(shù)小于設(shè)定的閾值,則將該區(qū)域合并到其左側(cè)相鄰區(qū)域。
所述方法中對(duì)象素點(diǎn)進(jìn)行排序的方法為沉浸模擬方法。
所述方法中采用高斯模版對(duì)所述圖像每個(gè)像素點(diǎn)進(jìn)行平滑處理。
所述高斯模版為 所述方法中采用Sobel算子求出所述圖像各象素點(diǎn)的水平梯度和垂直梯度。
所述Sobel算子為 其中H1為水平梯度,H2為垂直梯度。
本發(fā)明的有益效果 本發(fā)明可以在基本保證圖象分割效果的同時(shí)更快的完成圖象分割的過程。圖2列出了本文提出的圖象分割方法與Vincent-Soille提出的圖象分割方法的效果圖。表1列出了本文提出的圖象分割方法和Vincent-Soille提出方法的處理速度比較。
表1本文方法與Vincent方法處理速度比較
圖1本發(fā)明的系統(tǒng)流程圖; 圖2本文提出方法與VINCENT-SOILLE方法分水嶺線效果圖; 圖3使用閾值方法減少過渡分割的效果圖,從上到下依次采用梯度閾值2、閾值10、閾值15、閾值22;左圖為本文提出方法的分割效果,右圖為VINCENT-SOILLE提出方法的分割效果; 圖4使用閾值方法后再使用區(qū)域融合的效果圖,從上到下依次采用區(qū)域融合閾值10、50、100、120,左圖為本文提出方法分割效果,右圖為VINCENT-SOILLE提出方法的分割效果。
具體實(shí)施例方式 本圖象分割方法可以用于實(shí)時(shí)性要求較高的圖象分割場(chǎng)合,比如MPEG-4的視頻對(duì)象VOB提取過程中,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步說明 分水嶺方法圖象分割前處理 由于原始圖像在數(shù)據(jù)采集和存儲(chǔ)過程中可能會(huì)帶上一些與原始圖像無關(guān)的噪聲點(diǎn)。這些噪聲點(diǎn)會(huì)大大影響分水嶺方法的處理效果,從而造成過度分割現(xiàn)象。因此必須先使原始灰度圖像經(jīng)過一個(gè)低通濾波器,濾掉不必要的噪聲點(diǎn)。
為了能夠更好的通過分水嶺方法為圖像進(jìn)行區(qū)域劃分,需要強(qiáng)調(diào)圖像的區(qū)域邊緣,這一目的可以通過微分算子邊緣檢測(cè)來實(shí)現(xiàn)。
在圖像的平滑過程中,使用高斯模板(1)對(duì)每個(gè)像素點(diǎn)進(jìn)行處理(呂鳳軍,《數(shù)字圖象處理編程入門》,清華大學(xué)出版社,1999年12月出版,P43-P46)。
在圖像的邊界提取過程中,使用Sobel算子(2)分別求出圖像各象素點(diǎn)的水平梯度和垂直梯度,取其梯度較大者作為該點(diǎn)的梯度(呂鳳軍,《數(shù)字圖象處理編程入門》,清華大學(xué)出版社,1999年12月出版,P118-P121)。
H1為水平梯度,H2為垂直梯度 分水嶺方法圖象分割處理過程 經(jīng)過前處理后,便可對(duì)圖像進(jìn)行分水嶺圖象分割了。本文提出的分水嶺圖象分割方法利用泛洪過程中排序數(shù)組內(nèi)各像素點(diǎn)間的位置關(guān)系,對(duì)每一個(gè)梯度層,從左上到右下的順序逐列逐行進(jìn)行標(biāo)號(hào)擴(kuò)展。圖象分割處理方法可分為排序、種子生成和泛洪三個(gè)步驟 步驟1排序在排序模塊中本圖象處理所用方法采用和VINCENT-SOILLE相同的方式,即通過第一次遍歷求得梯度圖像的直方圖和各梯度層的概率密度,再通過第二次遍歷得出每個(gè)象素點(diǎn)在排序數(shù)組中的位置。具體而言,由于梯度的概率密度表示梯度值小于該梯度的象素點(diǎn)的個(gè)數(shù)。所以當(dāng)求得概率密度后再次遍歷整個(gè)梯度圖像,若某點(diǎn)的梯度值為n,則取梯度為n的概率密度,作為該點(diǎn)在排序數(shù)組中的地址,并將梯度n的概率密度加1,作為下次遇到梯度為n的點(diǎn)在排序數(shù)組中的地址。這樣經(jīng)過兩次遍歷后,便可以得到整幅圖像依梯度值從小到大的一個(gè)一維排序數(shù)組。在該數(shù)組中,梯度小的點(diǎn)排在梯度大的點(diǎn)的前面,左上方的點(diǎn)排在右下方點(diǎn)的前面。
步驟2種子生成種子生成模塊是為了得到梯度圖像最初的標(biāo)號(hào)(種子),本文對(duì)最低梯度層進(jìn)行標(biāo)號(hào)擴(kuò)展。即將排序數(shù)組中最小梯度層的像素點(diǎn)依次取出,然后根據(jù)最小梯度層中各點(diǎn)是否相鄰判定為相同或不同的標(biāo)號(hào)(本文中標(biāo)記與標(biāo)號(hào)的概念不同,標(biāo)記包含標(biāo)號(hào)和分水嶺)。處理方法為判斷當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)是否已經(jīng)被標(biāo)號(hào) 若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)存在已經(jīng)標(biāo)號(hào)的點(diǎn),則當(dāng)前處理點(diǎn)的標(biāo)號(hào)等于該標(biāo)號(hào); 若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)不存在已經(jīng)標(biāo)號(hào)的點(diǎn),則當(dāng)前處理點(diǎn)為新標(biāo)號(hào)。
步驟3泛洪考慮到圖像梯度的相關(guān)性,即一幅圖像中具有相同梯度的點(diǎn)通常不會(huì)孤立出現(xiàn),都以聚集的小區(qū)域的形式出現(xiàn);又考慮到在排序過程中對(duì)某梯度層像素點(diǎn)的排序是按照從左上到右下順序排列在排序數(shù)組中的。故本文的泛洪模塊中采用基于排序順序的泛洪方法,該方法將順序掃描每一梯度層的各像素點(diǎn)(從上到下,自左到右),并在掃描過程中直接判定出每一點(diǎn)的標(biāo)號(hào)。確定的方法是泛洪模塊根據(jù)當(dāng)前處理點(diǎn)的上下左右四鄰點(diǎn)已有標(biāo)號(hào)的種類進(jìn)行判定 若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)只有一種標(biāo)號(hào),則當(dāng)前處理點(diǎn)的標(biāo)號(hào)等于該標(biāo)號(hào); 若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)有兩種或兩種以上的標(biāo)號(hào),則當(dāng)前處理點(diǎn)位于兩個(gè)或兩個(gè)以上區(qū)域的交界處,當(dāng)前處理點(diǎn)為分水嶺點(diǎn); 若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)均未標(biāo)號(hào),則當(dāng)前處理點(diǎn)為新標(biāo)號(hào)。
原始輸入圖象在經(jīng)過高斯模板平滑處理,對(duì)平滑后的每一幀圖象進(jìn)行排序、種子生成、泛洪步驟后便對(duì)一副圖象的每個(gè)象素點(diǎn)進(jìn)行標(biāo)號(hào),標(biāo)號(hào)相同的點(diǎn)構(gòu)成一個(gè)區(qū)域,不同的區(qū)域用分水嶺線加以分割,這便實(shí)現(xiàn)了圖象分割。如果分割塊過小,可以選擇使用分水嶺方法圖象分割的后處理步驟,以實(shí)現(xiàn)小區(qū)域合并的目的,得到更好的的圖象分割效果。
分水嶺方法圖象分割的后處理 分水嶺方法都會(huì)產(chǎn)生一定的過渡分割問題,本文采用兩步操作來減小過渡分割的影響。其中步驟一可以獨(dú)立使用,當(dāng)要求分割更加明確時(shí),可以添加步驟二。
步驟一由于梯度表示像素點(diǎn)間的變化關(guān)系。本文在這里使用近似法,將兩個(gè)像素間灰度變化小的點(diǎn),即梯度值小的點(diǎn)近似認(rèn)為像素間沒有變化,認(rèn)為其梯度為零。這樣,在求得梯度后對(duì)梯度進(jìn)行閾值處理,即梯度小于閾值的點(diǎn)都認(rèn)為是梯度為零的點(diǎn)。由于種子生成過程會(huì)對(duì)梯度最低的層進(jìn)行標(biāo)號(hào),這些標(biāo)號(hào)將成為以后泛洪過程中的參考點(diǎn)。通過合理地設(shè)定閾值可以產(chǎn)生較好的分割效果。圖3為使用閾值方法減少過渡分割的效果圖,從上到下依次采用梯度閾值2、閾值10、閾值15、閾值22;左圖為本文提出方法的分割效果,右圖為VINCENT-SOILLE提出方法的分割效果。
表2列出了取不同閾值時(shí),兩種方法的區(qū)域數(shù)。
表2圖Clair采用不同閾值處理后區(qū)域個(gè)數(shù) 步驟二對(duì)已經(jīng)標(biāo)號(hào)的區(qū)域進(jìn)行區(qū)域融合,即統(tǒng)計(jì)每個(gè)區(qū)域的點(diǎn)的個(gè)數(shù)。如果小于提前設(shè)定的閾值,則將該區(qū)域合并到其左側(cè)相鄰區(qū)域中。對(duì)于Claire圖像選用其梯度閾值為22的圖像再做處理。圖4為使用閾值方法后再使用區(qū)域融合的效果圖,從上到下依次采用區(qū)域融合閾值10、50、100、120,左圖為本文提出方法分割效果,右圖為VINCENT-SOILLE提出方法的分割效果。
表3列出了Claire圖像進(jìn)行區(qū)域融合后的區(qū)域個(gè)數(shù)。
表3圖Clair使用閾值處理和最小區(qū)融合后區(qū)域個(gè)數(shù)
權(quán)利要求
1.一種分水嶺圖像分割處理方法,其步驟為
1)將原始圖像通過一低通濾波器進(jìn)行濾波;
2)對(duì)圖像每個(gè)像素點(diǎn)進(jìn)行平滑處理,得到平滑的圖像;
3)分別求出圖像各象素點(diǎn)的水平梯度和垂直梯度,取梯度較大者作為該點(diǎn)的梯度,提取出圖像的邊界,得到梯度圖像;
4)遍歷各個(gè)象素點(diǎn)得出梯度圖像的直方圖和各梯度層的概率密度,再次遍歷各個(gè)象素點(diǎn)得出每個(gè)象素點(diǎn)在排序數(shù)組中的位置,對(duì)象素點(diǎn)進(jìn)行排序;
5)對(duì)梯度圖像進(jìn)行標(biāo)號(hào),其方法為判斷當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)是否已經(jīng)被標(biāo)號(hào)若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)存在已經(jīng)標(biāo)號(hào)的點(diǎn),則當(dāng)前處理點(diǎn)的標(biāo)號(hào)等于該標(biāo)號(hào);若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)不存在已經(jīng)標(biāo)號(hào)的點(diǎn),則當(dāng)前處理點(diǎn)為新標(biāo)號(hào);
6)順序掃描每一梯度層的各像素點(diǎn),并在掃描過程中直接判定出每一點(diǎn)的標(biāo)號(hào);所述判定出每一點(diǎn)標(biāo)號(hào)的方法為根據(jù)當(dāng)前處理點(diǎn)的上下左右四鄰點(diǎn)已有標(biāo)號(hào)的種類進(jìn)行判定,若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)只有一種標(biāo)號(hào),則當(dāng)前處理點(diǎn)的標(biāo)號(hào)等于該標(biāo)號(hào);若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)有兩種或兩種以上的標(biāo)號(hào),則當(dāng)前處理點(diǎn)位于兩個(gè)或兩個(gè)以上區(qū)域的交界處,當(dāng)前處理點(diǎn)為分水嶺點(diǎn);若當(dāng)前處理點(diǎn)的上下左右四個(gè)鄰點(diǎn)均未標(biāo)號(hào),則當(dāng)前處理點(diǎn)為新標(biāo)號(hào);
7)將標(biāo)號(hào)相同的點(diǎn)劃為一個(gè)區(qū)域,不同的區(qū)域用分水嶺線加以分割,從而實(shí)現(xiàn)圖象分割。
2.如權(quán)利要求1所述的分水嶺圖像分割處理方法,其特征在于所述排序數(shù)組為整幅圖像依梯度值從小到大的一個(gè)一維排序數(shù)組,梯度小的點(diǎn)排在梯度大的點(diǎn)的前面,左上方的點(diǎn)排在右下方點(diǎn)的前面。
3.如權(quán)利要求1所述的分水嶺圖像分割處理方法,其特征在于對(duì)梯度值設(shè)有一閾值,梯度值小于閾值的點(diǎn)標(biāo)號(hào)設(shè)為零。
4.如權(quán)利要求1所述的分水嶺圖像分割處理方法,其特征在于在區(qū)域劃分中對(duì)已標(biāo)號(hào)區(qū)域內(nèi)的點(diǎn)數(shù)設(shè)有一閾值,如果已標(biāo)號(hào)區(qū)域內(nèi)的點(diǎn)數(shù)小于設(shè)定的閾值,則將該區(qū)域合并到其左側(cè)相鄰區(qū)域。
5.如權(quán)利要求1所述的分水嶺圖像分割處理方法,其特征在于對(duì)象素點(diǎn)進(jìn)行排序的方法為沉浸模擬方法。
6.如權(quán)利要求1所述的分水嶺圖像分割處理方法,其特征在于采用高斯模版對(duì)所述圖像每個(gè)像素點(diǎn)進(jìn)行平滑處理。
7.如權(quán)利要求6所述的分水嶺圖像分割處理方法,其特征在于所述高斯模版為
8.如權(quán)利要求1所述的分水嶺圖像分割處理方法,其特征在于采用Sobel算子求出所述圖像各象素點(diǎn)的水平梯度和垂直梯度。
9.如權(quán)利要求8所述的分水嶺圖像分割處理方法,其特征在于所述Sobel算子為
其中H1為水平梯度,H2為垂直梯度。
全文摘要
本發(fā)明公開了一種分水嶺圖像分割處理方法,其主要分三步完成,即分水嶺算法的前處理過程,濾掉不必要的噪聲點(diǎn);分水嶺處理過程,對(duì)象素點(diǎn)進(jìn)行排序和標(biāo)號(hào)擴(kuò)展;分水嶺后處理過程,來減小過渡分割的影響;該方法速度比VINCENT-SOILLE方法快2倍,分割效果與其相當(dāng),同時(shí)保留了大部分對(duì)圖像分割有益的信息,因此在對(duì)分割時(shí)間有嚴(yán)格限制的場(chǎng)合中,尤其在實(shí)時(shí)視頻對(duì)象提取中,會(huì)有較大的應(yīng)用價(jià)值。
文檔編號(hào)G06T5/00GK101106716SQ200710120550
公開日2008年1月16日 申請(qǐng)日期2007年8月21日 優(yōu)先權(quán)日2007年8月21日
發(fā)明者曹喜信, 健 曹, 劉宏志, 于敦山, 興 張, 彭春干 申請(qǐng)人:北京大學(xué)軟件與微電子學(xué)院