>[0055] S5.1,嘗試從步驟4產(chǎn)生的DSS集合中讀取一個(gè)尚未讀取過的DSS;
[0056] S5.2,如果存在一個(gè)尚未讀取過的DSS,則對(duì)于所讀取DSS中的每個(gè)點(diǎn),計(jì)算其在原 點(diǎn)為DSS平均中心且X軸正半軸指向DSS方向的坐標(biāo)系中的坐標(biāo);否則結(jié)束步驟5;
[0057] S5.3,根據(jù)所計(jì)算坐標(biāo)值找到所讀取DSS的邊界點(diǎn),根據(jù)邊界點(diǎn)計(jì)算DSS厚度,將厚 度與探索半徑比較;
[0058] S5.4,如果厚度超過探索半徑的2倍,則將探索半徑2倍外的點(diǎn)從DSS中刪除;否則 返回S5.1;
[0059 ] S5.5,如果圖像空間中具有最大二維索引的像素尚未被步驟1讀取,則返回步驟1, 否則開始步驟6。
[0060]進(jìn)一步,所述步驟6的具體過程為:
[0061] S6.1,嘗試從DSS集合中讀取一個(gè)本步驟尚未讀取的DSS,如果存在一個(gè)尚未被本 步驟讀取過的DSS,則標(biāo)記所讀取DSS為外DSS,否則結(jié)束步驟6;
[0062] S6.2,嘗試從DSS集合中讀取一個(gè)本步驟尚未讀取的DSS,如果不包括外DSS,存在 一個(gè)尚未被本步驟讀取過的DSS,則標(biāo)記所讀取DSS為內(nèi)DSS,并計(jì)算內(nèi)DSS與外DSS方向的差 異;否則返回S6.1;
[0063] S6.3,如果差異不大于方向差異閥值,則遍歷DSSGroup集合的成員,如果內(nèi)DSS尚 未被任何成員包含,則找到與內(nèi)DSS方向差異最小的成員;否則返回S6.2;
[0064] S6.4,如果存在一個(gè)方向差異最小的成員,則計(jì)算內(nèi)DSS與該成員的方向差異,否 則返回S6.2;
[0065] S6.5,如果S6.4所計(jì)算的差異不大于方向差異閥值,則將內(nèi)DSS添加進(jìn)該成員,并 更新該成員的方向,返回S6.2;否則,將內(nèi)DSS添加進(jìn)鍵為外DSS的成員,或初始化這樣一個(gè) 成員如果無法找到該成員,返回S6.2;
[0066 ]進(jìn)一步,所述步驟7的具體過程為:
[0067] S7.1,嘗試在DSSGroup集合中讀取一個(gè)尚未讀取過的成員,如果存在一個(gè)尚未讀 取過的成員,則檢查所讀取的成員;否則結(jié)束步驟7;
[0068] S7.2,如果該成員非空,則找到成員中具有最多接納點(diǎn)的DSS,并標(biāo)記該DSS為最大 DSS;否則返回S7.1;
[0069] S7.3,對(duì)于成員中的每個(gè)DSS,計(jì)算其相對(duì)于"原點(diǎn)為最大DSS平均中心且X正半軸 指向最大DSS方向的坐標(biāo)系"的平均中心坐標(biāo)值;
[0070] S7.4,將每個(gè)DSS和其平均中心X坐標(biāo)值作為"鍵-值"成對(duì)保存在成員的 DSSDistances屬性中,其中鍵為DSS;
[0071] S7.5,嘗試讀取DSSDistances屬性中的一對(duì)"鍵-值",如果存在尚未被讀取的鍵值 對(duì),則執(zhí)行S7.61,否則執(zhí)行S7.62;
[0072] S7.61,通過查看值,比較鍵所對(duì)應(yīng)的DSS與最大DSS間的距離,如果距離不大于探 索半徑,則計(jì)算鍵所對(duì)應(yīng)的DSS與最大DSS邊界點(diǎn)間的距離,并找到其中最小的距離,否則返 回S7.5;
[0073] S7.62,從成員中刪除最大DSS,及成員的DSSForMerging屬性中對(duì)應(yīng)最大DSS的鍵 值對(duì)所包含的DSS,然后返回S7.1;
[0074] S7.7,如果最小距離沒有超過探索半徑的2倍,則檢查鍵所對(duì)應(yīng)的DSS是否已被成 員DSSForMerging屬性中的鍵值對(duì)所包含;否則返回S7.5;
[0075] S7.8,如果已包含,則返回S7.5;否則根據(jù)成員DSSForMerging屬性中對(duì)應(yīng)最大DSS 的鍵值對(duì)所包含DSS的所有接納點(diǎn),計(jì)算厚度;
[0076] S7.9,如果厚度不大于探索半徑的2倍,則將鍵所對(duì)應(yīng)的DSS添加進(jìn)成員 DSSForMerging屬性中對(duì)應(yīng)最大DSS的鍵值對(duì)中并返回S7.5;否則返回S7.5。
[0077] 進(jìn)一步,所述步驟8的具體過程為:
[0078] S8.1,嘗試在DSSGroup集合中讀取一個(gè)S8.1尚未讀取過的成員,如果存在一個(gè)尚 未讀取過的成員,貝嘗試讀取成員DSSForMerging屬性中一個(gè)尚未讀取過的鍵值對(duì),否則結(jié) 束步驟8;
[0079] S8.2,如果存在一個(gè)尚未讀取過的鍵值對(duì),則將所讀取鍵值對(duì)中包含的所有DSS添 加給鍵所對(duì)應(yīng)的DSS,并將DSS集合中對(duì)應(yīng)的原DSS刪除;否則返回S8.1中的嘗試讀取成員 DSSForMerging屬性中一個(gè)尚未讀取過的鍵值對(duì);
[0080] S8 · 3,標(biāo)識(shí)"發(fā)生融合"為真并返回S8 · 1;
[0081 ] S8.4,若"發(fā)生融合"為真,則返回S7.1,否則結(jié)束步驟8。
[0082] 本發(fā)明方法的有益效果為:
[0083] 通過附圖驗(yàn)證表明,【附圖說明】圖15展示了一個(gè)理想橢圓,根據(jù)52和Θ的不同人工 輸入?yún)?shù)值,使用本發(fā)明方法識(shí)別DSS的視覺結(jié)果。通過觀察圖15所示結(jié)果,可以發(fā)現(xiàn)通過 人工調(diào)節(jié)32.和Θ,本發(fā)明方法對(duì)于理想圖形邊緣可以實(shí)現(xiàn)不同精度的分割,精度是指由參 數(shù).?和Θ確定的,本發(fā)明方法分割非直線邊緣產(chǎn)生的DSS數(shù)量。
【附圖說明】 [0084] 圖16展示了使用本發(fā)明方法處理6副現(xiàn)實(shí)數(shù)字圖像經(jīng)由Canny邊緣檢測(cè) 產(chǎn)生的邊緣圖像的視覺結(jié)果。通過觀察圖16所示結(jié)果,可以發(fā)現(xiàn)本發(fā)明方法對(duì)于低分辨率 的現(xiàn)實(shí)世界圖像(real-world image)具有良好的處理能力。例如Cameraman中人物背部邊 緣的完整分割以及Pepper中柿子椒曲線邊緣的分割等。
【附圖說明】 [0085] 圖17展示了由Canny邊緣檢測(cè)產(chǎn)生的邊緣圖像的視覺結(jié)果,以及本發(fā)明 方法的處理結(jié)果。其中House圖像底部的邊緣檢測(cè)結(jié)果包含大量的干擾信息,本發(fā)明方法仍 然識(shí)別了圖像中最主要的幾條DSSJuzzle圖像頂部的邊緣檢測(cè)結(jié)果顯示了中斷的圖形邊 緣,本發(fā)明方法的識(shí)別結(jié)果則是連續(xù)的DSS。這兩個(gè)例子所示的情況實(shí)際上在圖16中大量發(fā) 生,而圖16所示結(jié)果說明,本發(fā)明方法具有較好的抗噪聲與連接中斷邊緣的特點(diǎn)。
[0086]通過實(shí)驗(yàn)驗(yàn)證,附圖中展示了使用本發(fā)明方法處理6副圖像不同分辨率版本的邊 緣圖像耗時(shí)情況。6副邊緣圖像的分辨率以像素為單位,從128X 128開始,以32X32為步長 增加分辨率,直至1280 X 1280結(jié)束。觀察附圖可以判斷處理圖像Lena的運(yùn)算時(shí)間,較其他圖 像而言較大,而Puz z 1 e的處理時(shí)間較小。這主要是由于Lena邊緣圖像的圖像空間中存在大 量相互臨近由前景像素構(gòu)成的邊緣,而Puzzle中的邊緣間的距離在圖像空間中相對(duì)較大。 這說明本發(fā)明方法更適合處理圖像空間中邊緣間距大于梵的邊緣圖像。
[0087] 通過實(shí)驗(yàn)可以發(fā)現(xiàn)圖像Lena和Puzzle分別反映了總耗時(shí)較大和較小的情況,同時(shí) 可以發(fā)現(xiàn)圖像Lena的耗時(shí)增長主要由橙色區(qū)域,即步驟6引起,而圖像Puzzle能在高分辨率 下維持低耗時(shí),也是由于步驟6的耗時(shí)未大幅增加。
【附圖說明】
[0088] 圖1為本發(fā)明的方法所涉及的一些基本概念的模型圖;
[0089] 圖2為本發(fā)明方法的前景像素收集過程圖;
[0090] 圖3為用于說明本發(fā)明方法中分割與融合DSS的過程圖;
[0091]圖4為以UML活動(dòng)圖的形式描述了本發(fā)明方法的流程圖;
[0092] 圖5為以UML類圖的形式描述了用于實(shí)施本發(fā)明方法所涉及的高級(jí)語言(High-level programming language)中的類;
[0093] 圖6為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟1至步驟8的實(shí)施細(xì)節(jié)流程 圖;
[0094] 圖7為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟1的實(shí)施細(xì)節(jié)流程圖;
[0095] 圖8為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟2的實(shí)施細(xì)節(jié)流程圖;
[0096] 圖9為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟3的實(shí)施細(xì)節(jié)流程圖;
[0097]圖10為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟4的實(shí)施細(xì)節(jié)流程圖;
[0098] 圖11為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟5的實(shí)施細(xì)節(jié)流程圖;
[0099] 圖12為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟6的實(shí)施細(xì)節(jié)流程圖;
[0100]圖13為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟7的實(shí)施細(xì)節(jié)流程圖;
[0101]圖14為以UML活動(dòng)圖的形式描述了用于本發(fā)明方法步驟8的實(shí)施細(xì)節(jié)流程圖;
[0102] 圖15為用于說明本發(fā)明方法對(duì)橢圓邊緣的分割效果圖;
[0103] 圖16為用于說明本發(fā)明方法對(duì)任意邊緣的分割效果圖;
[0104] 圖17為用于說明本發(fā)明方法對(duì)特定邊緣的分割效果圖;
[0105] 圖18為用于說明本發(fā)明方法處理各種分辨率圖像的用時(shí)情況示意圖;
[0106] 圖19為用于說明本發(fā)明方法處理各種分辨率圖像的各步驟用時(shí)情況,對(duì)于每個(gè)柱 子,從下至上不同顏色的區(qū)域依次標(biāo)識(shí)了步驟1至步驟8的用時(shí)情況示意圖;
[0107] 圖20為用于說明本發(fā)明方法處理圖像Lena各分辨率版本的各步驟用時(shí)情況示意 圖;
[0108] 圖21為用于說明本發(fā)明方法處理圖像Tower各分辨率版本的各步驟用時(shí)情況示意 圖;
[0109] 圖22為用于說明本發(fā)明方法處理圖像Puzzle各分辨率版本的各步驟用時(shí)情況示 意圖。
【具體實(shí)施方式】
[0110] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述。
[0111] 本發(fā)明提出的算法計(jì)算部分原理由【附圖說明】的圖1至圖3描述。本發(fā)明使用計(jì)算機(jī) 程序語言完成實(shí)施。具體實(shí)施過程涉及的算法靜態(tài)概念和動(dòng)態(tài)活動(dòng)分別由符合UML(統(tǒng)一建 模語言)標(biāo)準(zhǔn)的類圖與活動(dòng)圖描述,見【附圖說明】中的圖4至圖14。為使陳述清楚明了,現(xiàn)集中 定義本發(fā)明所涉及的部分符號(hào)和概念。
[0112] Z+表示正整數(shù)集合。
[0113] Z表示包括零的整數(shù)集合。
[0114] R+表示包括零的正實(shí)數(shù)集合。
[0115] R表示包括零的實(shí)數(shù)集合。
[0116] {·}表示集合。
[0117] I {·} I表示集合{·}中元素的數(shù)量。
[0118] " 條件"或"maX7?條件"表示通過選擇元素使條件最大化。
[0119] 條件"或"min適條件"表示通過選擇元素使條件最小化。 yu <r-
[0120] 條件"或"arg max蔵條件"表示使條件最大化的元素。 J U .(ji
[0121 ] "an?.iriin條件"或"arg min蔵條件"表示使條件最小化的元素。 .糸
[0122] sgn( ·)表示提取符號(hào)值,例如Sgn(i〇) = Sgn(i.i) = i,Sgn(-i〇) = Sgn(-i.i) = -l,sgn(0) = l〇
[0123] 對(duì)于ciER. Jqj .= E 2.1? [Ci"| .二 hUii{z2 Z+jz2.:? > 0}'0
[0124] 講表示邊緣圖像的寬。
[0125] 表示邊緣圖像的高。
[0126] 圖像空間,記做I:保存邊緣圖像的圖像數(shù)據(jù)。每一個(gè)記錄單元唯一對(duì)應(yīng)一個(gè)像素。 圖像數(shù)據(jù)中,按照對(duì)應(yīng)圖像信息的,先從左向右,后從上至下的順序排列像素,即,I是具有 4行,列的矩陣,矩陣中的每個(gè)元素值即為像素值。
[0127] 矩陣坐標(biāo)系:I中的每個(gè)元素的二維索引為(Y,y7 )其中0 £ Z < 表示列索 弓丨,? s / e Z < Λ表示行索引,,y')表示了一個(gè)坐標(biāo)系中點(diǎn)的位置,該坐標(biāo)系以矩陣 左上角為原點(diǎn),最上邊一行為指向Y增加方向的X軸正半軸,最左邊一列為指向y7增加方向 的Y軸正半軸,該坐標(biāo)系稱為矩陣坐標(biāo)系。例如:【附圖說明】圖1至圖3的每個(gè)正方形都表示I的 一個(gè)前景像素,每個(gè)像素在矩陣坐標(biāo)系中具有1單位的長度,每個(gè)正方形中心的點(diǎn)表示矩陣 坐