專利名稱:一種基于聚類算法的圖像邊緣擬合b樣條生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像邊緣擬合的技術(shù)領(lǐng)域,涉及了基于聚類算法的圖像邊緣擬合生成 B樣條曲線生成方法,利用canny算子生成的邊緣點集不但有效的提取有用信息的邊緣點, 而且有效的抑制噪聲。
背景技術(shù):
聚類分析又稱群分析,它是研究分類問題的一種統(tǒng)計分析算法,其主要目的是通過對數(shù)據(jù)集得合理規(guī)劃來發(fā)現(xiàn)數(shù)據(jù)集的結(jié)構(gòu)特征。聚類就是將物理或抽象的數(shù)據(jù)對象,按照對象間的相似性進行分組或者分類的過程,廣泛應(yīng)用于各研究和應(yīng)用領(lǐng)域,如數(shù)據(jù)挖掘、 圖像分割、模式識別等諸多方面。圖像邊緣檢測是圖像處理中重要的研究內(nèi)容之一,在生產(chǎn)實踐中有廣泛的應(yīng)用。 現(xiàn)有的大部分圖像邊緣檢測算法處理結(jié)果是一些離散的邊緣點集,這些點集在一些生產(chǎn)實踐中難以直接利用。圖像的邊緣具有豐富的局部信息,包含了圖像的諸多特征,但是邊緣曲線不規(guī)則, 難以描述及應(yīng)用。應(yīng)用于圖像的擬合方法繁多,如基于灰度直方圖的曲線擬合、基于最小二乘的曲線擬合、二維高斯曲面擬合算法等,但是在提取數(shù)字圖像的過程中,受多種因素影響,往往會出現(xiàn)模糊、失真、噪聲干擾等現(xiàn)象,造成圖像退化失真。傳統(tǒng)Canny算法在梯度幅值計算上的缺陷,且Canny邊緣檢測算法在采用基于梯度幅值的雙閾值法檢測和連接邊緣時,盡管抑制了噪聲,但同時也損壞了部分低強度邊緣。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種從圖像直接獲取擬合邊緣的B樣條曲線,從而可以滿足諸多的生產(chǎn)實踐需求。本發(fā)明實現(xiàn)了一種基于聚類算法的圖像邊緣擬合B樣條生成方法,使用聚類方法作為B樣條生在成的控制點,不僅可以有效抑制噪聲,提高邊緣檢測擬合的效果。本發(fā)明的技術(shù)方案是基于聚類算法的圖像邊緣擬合B樣條生成方法,采用聚類算法,將canny算子生成的邊緣離散點的梯度差作為聚類算法的聚類判斷公式,聚類算法的初始類中心點采用X軸等間距點,使用聚類算法迭代生成各類核,使用核作為B樣條的控制點,從而擬合生成B樣條曲線,其實現(xiàn)步驟為步驟I、將原始圖像利用二維高斯函數(shù)的一階導(dǎo)數(shù)對其進行平滑去噪,得到平滑圖步驟2、采用3X3領(lǐng)域,在像素8領(lǐng)域內(nèi)通過計算X軸方向,y軸方向,45°方向和 135°的一階偏導(dǎo)的差分來計算圖像的梯度幅值和方向;步驟3、沿8領(lǐng)域方向檢測模值的極大值點,即為邊緣點,遍歷8方向圖像,通過比較每個像素偏導(dǎo)值與相鄰像素模值,取其最大值MAX值為邊緣點;步驟4、選取高低閾值過濾,得到邊緣點集;
步驟5、通過離散的邊緣點集創(chuàng)建邊緣點結(jié)構(gòu)體數(shù)組,并根據(jù)將X軸等分成N段,依次將邊緣點數(shù)組劃分成N組,每組隨機抽取一點作為聚類生長中心點;步驟6、針對邊緣點結(jié)構(gòu)體數(shù)組使用聚類算法迭代求得每組的類核心點點集;步驟7、基于步驟6求得的點集,作為B樣條的控制點,生成擬合B樣條曲線;步驟6使用的聚類算法為步驟61、判斷每組聚類中心點與之鄰近的邊緣點的類距離是否在承受范圍內(nèi)若在,則將邊緣點納入當(dāng)前聚類中;若不在,則計算聚類中是否存在一點,若將其作為聚類中點,該聚類中心與當(dāng)前聚類中各點、及當(dāng)前測試點的類距離小于系統(tǒng)確定常數(shù),若有,將該點納入當(dāng)前聚類,并將該點作為當(dāng)前聚類中心點;若無,則完成當(dāng)前聚類,并將當(dāng)前聚類的中心點計入控制點數(shù)組中,同時刪除當(dāng)前聚類所納入的邊緣點;步驟62、重復(fù)聚類當(dāng)前組剩余的邊緣點,直至當(dāng)前組內(nèi)邊緣點數(shù)為空;步驟63、迭代結(jié)束,對于求得的聚類中心點集,與其鄰近點的梯度差結(jié)進行判評, 根據(jù)差值是否在接收范圍內(nèi),以確定最終的B樣條生成控制點集;詳見本發(fā)明具體步驟第 11步。所述的聚類算法中,用于判斷點集的類距離公式為a *abs( θ ρ-Θ q) + β*abs(Mp_Mq),其中abs()為絕對值函數(shù),Θ為點梯度方向,M為點的梯度幅值,α、β分別為調(diào)節(jié)系數(shù)。在每組中隨機抽取一點作為聚類生長的中心點并標(biāo)記為,初始化當(dāng)前聚類點集合為空;判斷與領(lǐng)近的邊緣點qi的梯度方向差是否在可承受范圍內(nèi)Plfer與Qi的梯度方向為Θ P、Θ q,以及梯度值,判斷 a *abs( θ ρ-Θ q) + @ *abs (Mp-Mq) < ε ,若在可接受范圍內(nèi),則將qi納入到當(dāng)前聚類中; 若否,則計算當(dāng)前聚類中是否存在有一點1,使得當(dāng)前聚類中各點與其梯度方向,都滿足距離小于ε ;若存在有該點,則設(shè)該點為當(dāng)前聚類的中心點,并將qi納入到當(dāng)前聚類中;若無,則當(dāng)前類的聚類完成,并將當(dāng)前類的中心點,記入到控制點數(shù)組中,同時在該組中刪除當(dāng)前聚類所納入的邊緣點;針對該組剩余的邊緣點重復(fù)聚類,直至該邊緣點組為空;根據(jù)上述聚類步驟所得到的點集{Pja = 0,1,…….,η)進行遍歷,判斷各控制點與其鄰近點之間的梯度差,若控制點的梯度值Μρ,其鄰近點Q的梯度Mq滿足 min(Mq-avg( Σ M)),則使用Q替換Pi作為控制頂點;作為控制頂點來生成k階(k-Ι次)B樣條曲線。PtlP1...為控制多邊形,參數(shù)節(jié)點向量 Un,k = {uj , (i = O, I,. . . , n+k), (Ui ( ui+1),如下形式的參數(shù)曲線 P (u)為 k 階(k_l 次)B樣條曲線P(u) = Σ PiBijk(U), (i = 0,1,2, ... , n), u e [Uk^1, un+1]其中Biik(U)為k階(k-l)B樣條基函數(shù)。Bijk(U)雙下標(biāo)中下標(biāo)k表示k階(k_l 次)數(shù),下標(biāo)i表示序號。節(jié)點矢量為U = (UojU1,. .. ,un+k+1};曲線定義域為U e [uk,un+1], 并且聚類時已不存在重節(jié)點情況,所以曲線段數(shù)為η-k+l條。
本發(fā)明由聚類中心點與鄰近點梯度的綜合判評方式采用鄰近點梯度均值判評方式,選取當(dāng)前聚類中心點以及其鄰近點中與鄰近點梯度均值最為接近的一點,作為最終的B 樣條生成控制點。本發(fā)明基于聚類算法,canny算子提取邊緣點,采用聚類算法的類核迭代與生成方式,生成B樣條曲線的控制點。本發(fā)明基于聚類算法,通過canny算子生成的離散邊緣點集, 選擇等距點作為聚類算法的初始類中心,使用聚類算法迭代生成的核作為B樣條曲線的控制點,實現(xiàn)圖像的邊緣擬合B樣條,生成擬合B樣條曲線,可以較廣泛、便捷的應(yīng)用于各類有需要的生產(chǎn)行業(yè)。圖像的邊緣是圖像分析與識別的基礎(chǔ),包含了較多重要信息。因此,邊緣檢測在圖像分割、目標(biāo)區(qū)域識別、目標(biāo)區(qū)域形狀提取等圖像分析領(lǐng)域有著重要的作用。傳統(tǒng)的邊緣檢測就是利用研究較好求導(dǎo)算子對圖像各像素點進行一階或二階微分來確定邊緣像素點,如 Roberts算子、Prewitt算子、Sobel算子、Laplace算子等,這些算子都是通過模板與圖像卷積來提取邊緣,具有計算簡單、易于實現(xiàn)的特點,但對噪聲敏感度強,抗干擾性能差,不適合噪聲較強和復(fù)雜的圖像,對圖像精細(xì)度也有所影響。本發(fā)明提出的基于聚類算法的圖像邊緣擬合B樣條生成方法,通過該方法可以生成擬合圖像邊緣的B樣條曲線。該技術(shù)首先采用最優(yōu)的階梯型邊緣點檢測算法(canny算子邊緣檢測)檢測出邊緣點集,由于canny算子只能生成離散的點集,在生產(chǎn)應(yīng)用中更多需要通過離散的點集生成擬合邊緣線,所以經(jīng)聚類算法生成控制點集,擬合生成B樣條曲線。 本專利實現(xiàn)了一種基于聚類算法的圖像邊緣擬合B樣條生成方法,本專利從圖像直接獲取擬合邊緣的B樣條曲線,可滿足諸多的生產(chǎn)實踐需求,如太陽能電池板邊緣缺陷檢測等方面的應(yīng)用。本發(fā)明的有益效果如下I. 一種基于聚類算法的圖像邊緣擬合技術(shù),在圖像邊緣擬合方面,利用圖像邊緣直接生成B樣條曲線,能夠有效的提取圖像中的邊緣信息,從而應(yīng)用于諸如太陽能邊緣檢測等方面;利用canny算子生成的邊緣點集不但有效的提取有用信息的邊緣點,而且有效的抑制噪聲。2.利用canny算子的邊緣離散點性質(zhì),作為聚類的距離判斷公式,從而成為最終B 樣條曲線的控制點生成依據(jù),既保證了圖像邊緣點集得有效提取,對噪聲點有效去除,同時減小計算量,從而更客觀的達到聚類的效果。3.設(shè)計了一種新的聚類算法本聚類算法是在使用DBSCAN和K中心聚類算法基礎(chǔ)上復(fù)合,基于密度掃描和中心距的計算。同時在判斷類核心時使用點的梯度方向差作為判斷同一類的條件。該算法同時使用直接分段的聚類方式,可以減少算法的時空消耗,加快算法運行。該算法可以在結(jié)合兩種常規(guī)算法的的優(yōu)點有效判斷有利于生成B樣條的控制點。4.設(shè)計了一種新的聚類的距離判斷公式;本聚類算法使用梯度差作為基本聚類的判斷方式,它建立在密度的領(lǐng)域判斷基礎(chǔ)上。5.設(shè)計了一種新的類核判斷方式在新的聚類距離判斷公式的基礎(chǔ)上使用K中心點與領(lǐng)域點再次判評的方式設(shè)定
5類核。
;圖I為本發(fā)明的算法流程圖。
具體實施例方式基于聚類算法的B樣條曲線生成方法,首先利用canny算子生成的離散邊緣點集, 然后采用此邊緣點的梯度差作為聚類算法的距離判斷公式,選擇等距點作為聚類算法的初始類中心,利用聚類算法迭代生成各類核,生成控制點集從而生成B樣條曲線。其中生成B 樣條曲線的控制點集得生成不僅取決于是否為聚類的核心,還取決于核心與其相鄰近點的梯度差,從而保證了有信息的有效提取,實現(xiàn)控制點的有效提取。本發(fā)明的具體技術(shù)方案如下一種基于聚類算法的圖像邊緣擬合B樣條曲線生成方法,采用聚類迭代生成各類核作為B樣條曲線的控制點,通過canny算子生成離散的邊緣點集,采用邊緣點的梯度差作為聚類算法的距離判斷公式,利用迭代算法生成核,并最終作為B樣條曲線生成的控制點集。由此控制點的生成不僅取決于是否為聚類的核心,還取決于核心與其相鄰近點的梯度差,從而保證控制點的有效提取,既可實現(xiàn)B樣條曲線的生成。 本發(fā)明的具體步驟包括I、針對原始圖像為像f(x,y),利用二維高斯函數(shù)的一階導(dǎo)數(shù)對其進行平滑去噪,
得到平滑圖像B(x,y),其中二維高斯函數(shù)為
權(quán)利要求
1.一種基于聚類算法的圖像邊緣擬合B樣條生成方法,其特征是采用聚類算法,將 canny算子生成的邊緣離散點的梯度差作為聚類算法的聚類判斷公式,選擇等距離點作為聚類算法的初始類中心,使用聚類算法迭代生成各類核,使用核作為B樣條的控制點,擬合生成B樣條曲線,其實現(xiàn)步驟為步驟I、將原始圖像利用二維高斯函數(shù)一階導(dǎo)數(shù)對其進行平滑去噪,得到平滑圖像; 步驟2、采用3X3領(lǐng)域,在像素8領(lǐng)域內(nèi)通過計算X方向,y方向,45°方向和135°的一階偏導(dǎo)的差分來計算圖像的梯度幅值和方向;步驟3、沿8領(lǐng)域方向檢測模值的極大值點,即為邊緣點,遍歷8方向圖像,通過比較每個像素偏導(dǎo)值與相鄰像素模值,,取其MAX值為邊緣點;步驟4、選取高低閾值進一步過濾,得到邊緣點集;步驟5、通過離散的邊緣點集創(chuàng)建邊緣點結(jié)構(gòu)體數(shù)組,并根據(jù)將X軸等分成N段,依次將邊緣點數(shù)組劃分成N組,每組隨機抽取一點作為聚類生長中心點;步驟6、針對邊緣點結(jié)構(gòu)體數(shù)組使用聚類算法迭代求得每組的類核心點;步驟7、基于步驟6求得的點集,作為B樣條的控制點,生成擬合B樣條曲線。
2.根據(jù)權(quán)利I所述的步驟6,其使用的聚類算法為步驟I、判斷每組聚類中心點與之鄰近的邊緣點的類距離是否在承受范圍內(nèi)若在,則將邊緣點納入當(dāng)前聚類中;若不在,則計算聚類中是否存在一點,若將其作為聚類中點,該聚類中心與當(dāng)前聚類中各點、及當(dāng)前測試點的類距離小于系統(tǒng)確定常數(shù),若有,將該點納入當(dāng)前聚類,并將該點作為當(dāng)前聚類中心點;若無,則完成當(dāng)前聚類,并將當(dāng)前聚類的中心點計入控制點數(shù)組中,同時刪除當(dāng)前聚類所納入的邊緣點;步驟2、重復(fù)聚類當(dāng)前組剩余的邊緣點,直至當(dāng)前組內(nèi)邊緣點數(shù)為空;步驟3、迭代結(jié)束,對于求得的聚類中心點集再進行鄰近點梯度進行綜合判評,以確定最終的B樣條生成控制點集。
3.根據(jù)權(quán)利I、權(quán)利2所描述的聚類算法中,用于判斷點集的類距離公式為 a *abs( θ ρ-Θ q)+β *abs(Mp_Mq),其中abs()為絕對值函數(shù),Θ為點梯度方向,M為點的梯度幅值,α、β分別為調(diào)節(jié)系數(shù)。
4.根據(jù)權(quán)利I、權(quán)利2中所述的聚類中心點與鄰近點梯度的綜合判評方式采用鄰近點梯度均值判評方式,選取當(dāng)前聚類中心點以及其鄰近點中與鄰近點梯度均值最為接近的一點,作為最終的B樣條生成控制點。
全文摘要
基于聚類算法的圖像邊緣擬合B樣條生成方法,采用聚類算法,將canny算子生成的邊緣離散點的梯度差作為聚類算法的聚類判斷公式,選擇等距離點作為聚類算法的初始類中心,使用聚類算法迭代生成各類核,使用核作為B樣條的控制點,擬合生成B樣條曲線,其實現(xiàn)步驟為將原始圖像利用二維高斯函數(shù)的一階導(dǎo)數(shù)對其進行平滑去噪,得到平滑圖像;采用3×3領(lǐng)域,在像素8領(lǐng)域內(nèi)通過計算x方向,y方向,45°方向和135°的一階偏導(dǎo)的差分來計算圖像梯度幅值和方向;選取高低閾值進一步過濾,得到邊緣點集;通過離散邊緣點集創(chuàng)建邊緣點結(jié)構(gòu)體數(shù)組,本發(fā)明使用聚類方法作為B樣條生在成的控制點,可以有效抑制噪聲,提高邊緣檢測擬合的效果。
文檔編號G06T5/00GK102609917SQ20121003088
公開日2012年7月25日 申請日期2012年2月13日 優(yōu)先權(quán)日2012年2月13日
發(fā)明者傅德勝, 傅濤, 陳雯雯, 高華 申請人:江蘇博智軟件科技有限公司