一種結(jié)合分水嶺和canny算子的圖像分割方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及模糊識(shí)別領(lǐng)域中的一種圖像分割方法,特別涉及一種結(jié)合分水嶺和canny算子的圖像分割方法。
【背景技術(shù)】
[0002]圖像分割將圖像表示為物理上有意義的連通區(qū)域的集合,也就是根據(jù)目標(biāo)與背景的先驗(yàn)知識(shí),對(duì)圖像中的目標(biāo),背景進(jìn)行標(biāo)記、定位,然后將目標(biāo)從背景或其他偽目標(biāo)中分離出來。圖像分割在目標(biāo)識(shí)別、對(duì)象跟蹤、行為分析等圖像理解應(yīng)用中起承上啟下的作用,使得其后的圖像分析和識(shí)別等處理過程中所要處理的數(shù)據(jù)量大大減少了,同時(shí)又保留了有關(guān)圖像結(jié)構(gòu)特征的信息。圖像分割自20世紀(jì)70年代起一直受到人們的高度重視,至今已提出上千種分割算法,但目前尚無通用的理論和方法能夠可靠地分割出圖像的中間語義層。為了抽取出中間層,近年提出了超像素的方法,甚至已經(jīng)成為研宄熱點(diǎn)。沒有中間語義層的支持,低層次的像素和高層次應(yīng)用無法連通,圖像分割已經(jīng)成為阻礙機(jī)器視覺技術(shù)進(jìn)一步發(fā)展的重要原因。
[0003]在長期的圖像分割研宄中發(fā)現(xiàn),圖像邊緣抽取中的經(jīng)典方法canny算子已經(jīng)能夠得到很好的結(jié)果,但是canny算子在邊緣的轉(zhuǎn)角處無法找到正確的梯度方向,會(huì)出現(xiàn)非最大值抑制掉正確邊緣的現(xiàn)象,因此無法得到封閉的邊緣;另外,canny算子所分割出的邊緣還具有不準(zhǔn)確的缺陷。而圖像分割中的另一經(jīng)典算法一分水嶺算法,能夠較好地提取對(duì)象輪廓、準(zhǔn)確得到物體邊界,但是容易有受到噪聲的影響,得到過度分割的圖像。
【發(fā)明內(nèi)容】
[0004]針對(duì)現(xiàn)有圖像分割方法中存在的缺陷,本發(fā)明提供一種結(jié)合分水嶺和canny算子的圖像分割方法。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明所采取的措施:
[0006]一種結(jié)合分水嶺和canny算子的圖像分割方法,包括以下步驟,第一步,圖像邊緣抽取:采用Canny算法提取的邊緣,單像素化后找出所有端點(diǎn)和角點(diǎn);第二步,邊緣連接:采用相同大小的模板膨脹方法或不同大小的模板膨脹方法對(duì)第一步中抽取的圖像邊緣進(jìn)行連接;第三步,分割圖像:將第二步中得到的Canny邊緣包圍區(qū)域作為分水嶺算法的種子區(qū)域,在膨脹區(qū)域中用分水嶺算法進(jìn)行生長,確認(rèn)連接或者斷開連接,將圖像分割成區(qū)域;
[0007]所述第二步中相同大小的模板膨脹方法為連接所有間隙小于2倍膨脹直徑的邊緣;
[0008]所述第二步中不同大小的模板膨脹方法步驟為:首先,對(duì)所有Canny邊緣的端點(diǎn),找到最近的端點(diǎn)(設(shè)距離為Dee);其次,對(duì)端點(diǎn)所在的邊緣線段,從端點(diǎn)開始,去除掉Dee個(gè)邊緣像素,如果此邊緣線段的像素總數(shù)小于Dee,則去除此邊緣線段到角點(diǎn),不再向前追蹤;再次,求與此端點(diǎn)最近的邊緣點(diǎn)(設(shè)距離為Des);最后,通過Dee、Des與需要連接的最大縫隙寬度Tl之間的關(guān)系確定連接的點(diǎn)(若Dee < Des&Dee < Tl,則連接此兩個(gè)端點(diǎn);若Des < Dee&Des < Tl,則連接此端點(diǎn)與邊緣點(diǎn)),并用縫隙寬度1/3粗細(xì)的圓盤形模板膨脹;
[0009]所述分割圖像后增設(shè)有避免瓶頸被當(dāng)成縫隙填補(bǔ)起來的消除瓶頸步驟;
[0010]所述第一步中采用輪廓檢測(cè)器抽取圖像邊緣。
[0011]本發(fā)明的有益效果:利用了 canny算子生成邊緣,但是得到的分割是封閉的,并且位置比canny邊緣準(zhǔn)確;由于圖像的大部分已經(jīng)被標(biāo)記,因此沒有分水嶺算法的過分割等問題,速度快,并且原本連通的區(qū)域不會(huì)被強(qiáng)行分割。繼承了 canny算子和分水嶺算法的優(yōu)點(diǎn),克服了這兩種算法的缺陷。
【附圖說明】
[0012]圖1本發(fā)明中提取邊緣中端點(diǎn)和角點(diǎn)的示意圖;
[0013]圖2-a,b, c,d本發(fā)明中不同大小的模板膨脹方法的示意圖。
【具體實(shí)施方式】
[0014]為了克服canny算法和分水嶺算法的缺陷,繼承這兩種算法的優(yōu)點(diǎn),提出一種結(jié)合分水嶺和canny算子的圖像分割方法。由于canny算子已經(jīng)能夠得到很好的區(qū)域邊緣,而分水嶺算法需要標(biāo)注出種子區(qū)域,并且種子區(qū)域越大,需要處理的部分就越小,計(jì)算速度就越快,那么可以結(jié)合兩種算法,將canny算子的區(qū)域邊緣所包圍的部分作為分水嶺算法的種子區(qū)域,然后適度的生長,就可以得到準(zhǔn)確的圖像分割。
[0015]實(shí)施例一,采用相同大小模板的具體實(shí)施步驟如下:第一步,圖像邊緣抽取:采用Canny算法在圖像中提取的邊緣;第二步,邊緣連接:對(duì)每條Canny邊緣,采用相同大小的模板進(jìn)行膨脹,間隙小于2倍膨脹直徑的邊緣會(huì)連接起來;第三步,分割圖像:將Canny邊緣包圍的區(qū)域作為分水嶺算法的種子區(qū)域,再在膨脹區(qū)域中用分水嶺算法進(jìn)行生長。分水嶺算法生成的邊緣會(huì)將圖像分割成有意義的區(qū)域。對(duì)于有瓶頸進(jìn)行連接的兩個(gè)區(qū)域,即使在第二步中兩個(gè)區(qū)域被分割成兩個(gè)區(qū)域,但是第三步中仍然會(huì)被連接成一個(gè)區(qū)域。
[0016]實(shí)施例二,采用不同大小模板的具體實(shí)施步驟如下:第一步,用輪廓檢測(cè)器抽取邊緣:用Canny算法在圖像中提取的邊緣,單像素化后找出所有端點(diǎn)和角點(diǎn)。端點(diǎn)是8鄰域中只有一個(gè)邊緣像素的點(diǎn),角點(diǎn)是8鄰域中有三個(gè)邊緣像素的點(diǎn),角點(diǎn)將邊緣分割成邊緣線段(如圖1所示,X表示的角點(diǎn),三角形表示端點(diǎn))。第二步,填補(bǔ)縫隙:對(duì)圖中的每個(gè)端點(diǎn),將其中的縫隙填補(bǔ)起來。對(duì)每條Canny邊緣的端點(diǎn),找到最近的端點(diǎn)(設(shè)與最近端點(diǎn)的距離為Dee)。為了防止最近的端點(diǎn)仍然太遠(yuǎn),而近處有邊緣可以連接的情況,如圖2-a中端點(diǎn)2所在的情況,然后此端點(diǎn)所在的邊緣線段,從端點(diǎn)開始,去除掉Dee個(gè)邊緣像素。如果此邊緣線段的像素總數(shù)小于Dee,則去除此邊緣線段到角點(diǎn),不再向前追蹤,如圖2-a、圖2_b所示。然后求與此端點(diǎn)最近的邊緣點(diǎn),如圖2-c中的S點(diǎn)。設(shè)當(dāng)前端點(diǎn)為圖中的2,距離為Des。最后根據(jù)Dee、Des和需要連接的最大縫隙寬度Tl之間的大小關(guān)系確定需連接的兩個(gè)點(diǎn)(若Dee < Des&Dee < Tl,則連接此兩個(gè)端點(diǎn);若Des < Dee&Des < Tl,則連接此端點(diǎn)與邊緣點(diǎn)),再用縫隙寬度1/3粗細(xì)的圓盤形模板膨脹,如圖2-d所示。第三步,在所有填補(bǔ)位置上進(jìn)行分水嶺分割:對(duì)所有填補(bǔ)位置的像素,按灰度均勻分成N個(gè)等級(jí),然后按等級(jí)從小到大,找到每個(gè)等級(jí)上的像素??疾槊總€(gè)像素8鄰域的標(biāo)號(hào)情況。如果像素周圍沒有區(qū)域標(biāo)號(hào),那么此像素作為新的區(qū)域;如果周圍只有一個(gè)區(qū)域標(biāo)號(hào),那么此像素歸入此區(qū)域;有兩個(gè)及以上區(qū)域標(biāo)號(hào),那么此像素保留,作為邊緣。第四步,消除瓶頸:有的區(qū)域存在瓶頸,在第二步瓶頸被當(dāng)成縫隙填補(bǔ)起來了。為了避免這種由小段低梯度區(qū)域連接的兩個(gè)區(qū)域,將均勻分割的N個(gè)等級(jí)的前M個(gè)等級(jí)作為第一個(gè)等級(jí),并且規(guī)定,在第一個(gè)等級(jí)的像素,如果連通了多個(gè)區(qū)域,將這些合并成一個(gè)區(qū)域。
[0017]本發(fā)明的有益效果:利用了 canny算子生成邊緣,但是得到的分割是封閉的,并且位置比canny邊緣準(zhǔn)確;由于圖像的大部分已經(jīng)被標(biāo)記,因此沒有分水嶺算法的過分割等問題,速度快,并且原本連通的區(qū)域不會(huì)被強(qiáng)行分割。繼承了 canny算子和分水嶺算法的優(yōu)點(diǎn),克服了這兩種算法的缺陷。
[0018]本領(lǐng)域內(nèi)普通的技術(shù)人員的簡(jiǎn)單更改和替換都是本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種結(jié)合分水嶺和canny算子的圖像分割方法,其特征在于包括以下步驟,第一步,圖像邊緣抽取:采用Canny算法提取的邊緣,單像素化后找出所有端點(diǎn)和角點(diǎn);第二步,邊緣連接:采用相同大小的模板膨脹方法或不同大小的模板膨脹方法對(duì)第一步中抽取的圖像邊緣進(jìn)行連接;第三步,分割圖像:將第二步中得到的Canny邊緣包圍區(qū)域作為分水嶺算法的種子區(qū)域,在膨脹區(qū)域中用分水嶺算法進(jìn)行生長,確認(rèn)連接或者斷開連接,將圖像分割成區(qū)域。
2.根據(jù)權(quán)利要求1所述的一種結(jié)合分水嶺和canny算子的圖像分割方法,其特征在于所述第二步中相同大小的模板膨脹方法為連接所有間隙小于2倍膨脹直徑的邊緣。
3.根據(jù)權(quán)利要求1所述的一種結(jié)合分水嶺和canny算子的圖像分割方法,其特征在于所述第二步中不同大小的模板膨脹方法步驟為:首先,對(duì)所有Canny邊緣的端點(diǎn),找到最近的端點(diǎn)(設(shè)距離為Dee);其次,對(duì)端點(diǎn)所在的邊緣線段,從端點(diǎn)開始,去除掉Dee個(gè)邊緣像素,如果此邊緣線段的像素總數(shù)小于Dee,則去除此邊緣線段到角點(diǎn),不再向前追蹤;再次,求與此端點(diǎn)最近的邊緣點(diǎn)(設(shè)距離為Des);最后,通過Dee、Des與需要連接的最大縫隙寬度Tl之間的關(guān)系確定連接的點(diǎn)(若Dee < Des&Dee < Tl,則連接此兩個(gè)端點(diǎn);若Des< Dee&Des < Tl,則連接此端點(diǎn)與邊緣點(diǎn)),并用縫隙寬度1/3粗細(xì)的圓盤形模板膨脹。
4.根據(jù)權(quán)利要求3所述的一種結(jié)合分水嶺和canny算子的圖像分割方法,其特征在于所述分割圖像后增設(shè)有避免瓶頸被當(dāng)成縫隙填補(bǔ)起來的消除瓶頸步驟。
5.根據(jù)權(quán)利要求1?3中任一權(quán)利要求所述的一種結(jié)合分水嶺和canny算子的圖像分割方法,其特征在于所述第一步中采用輪廓檢測(cè)器抽取圖像邊緣。
【專利摘要】本發(fā)明公開了一種結(jié)合分水嶺和canny算子的圖像分割方法,包括以下步驟,第一步,圖像邊緣抽取:采用Canny算法提取的邊緣;第二步,邊緣連接:采用相同大小的模板膨脹方法或不同大小的模板膨脹方法對(duì)第一步中抽取的圖像邊緣進(jìn)行連接;第三步,分割圖像:將第二步中得到的Canny邊緣包圍區(qū)域作為分水嶺算法的種子區(qū)域,在膨脹區(qū)域中用分水嶺算法進(jìn)行生長,確認(rèn)連接或者斷開連接,將圖像分割成區(qū)域。本發(fā)明的有益效果:利用了canny算子生成邊緣,得到封閉的分割,并且位置比canny邊緣準(zhǔn)確;沒有分水嶺算法的過分割等問題,速度快,并且原本連通的區(qū)域不會(huì)被強(qiáng)行分割。
【IPC分類】G06T7-00
【公開號(hào)】CN104766305
【申請(qǐng)?zhí)枴緾N201510100163
【發(fā)明人】羅勝
【申請(qǐng)人】溫州大學(xué)
【公開日】2015年7月8日
【申請(qǐng)日】2015年3月6日