本站小編為你精心準備了圖像細化算法運用參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1算法的流程及基本細化算法
設有二值圖像.其中,值為1的像素組成的集合記為G,稱G為圖像的主干.我們的目的是將圖像的主干反復細化,得到G的骨架.不失一般性,設G是一個連通的區域,我們的細化算法得到連通的、單像素寬度的骨架.為敘述方便,把本文提出的算法稱為HATA算法.HATA算法的基本思想是:首先求出圖像的基本骨架,然后對基本骨架進行優化.求基本骨架的算法稱為基本細化算法;而優化則包括骨架移位、骨架膨脹、再度細化、骨架延伸4個步驟.基本細化算法是一種串行的細化算法,它是對[4]中提出的算法的改進.設以像素點P為中心的3×3矩陣的點,從上到下、從左到右依次為x1、x2、…、x9(設P=x5);而本次處理后x1、x2、x3、x4分別變為d1、d2、d3、d4,對于P的8鄰域,定義8種模板(圖2).為了保證抽取的骨架的連通性在細化過程中,決定像素P是否刪除時,除了要檢查P的鄰域是否與模板匹配外,還要檢查P鄰域的連通性.按上述條件進行細化的算法稱為基本細化算法,得到的骨架稱為基本骨架.程序運行結果表明,基本細化算法既保持了骨架的連通性,又能使骨架的寬度為1.
2基本骨架的優化
2•1基本骨架的位移
設基本骨架為S,S相對于理想的骨架往往有不同程度的偏離.為了克服這種偏離,我們采用一種稱為“中點移位”的方法.其做法是:對基本骨架S的每一點P,若P不是S的交叉點或交叉點的鄰點,則求出S在P點的垂線,找出垂線在圖像主干G(即二值圖像中像素為1的點集)內的部分的中點Q;當P是S的交叉點或交叉點的鄰點時,令Q=P.所有這樣的中點Q組成了點集S′.求S在P點的垂線方法如下.定義8種方向,編號依次為0,1,…,7(圖3).按照P的3×3鄰域中S的點的分布模式可以確定垂線方向.作為例子,圖3中列出了若干種模式及其對應的垂線的方向編號.圖中,+為骨架點,di為垂線方向編號.
2•2S′的膨脹
點集S′不一定是連通的.為此,我們對S′進行以3×3的正方形為結構元素的膨脹(dila-tion)運算.于是S′變為寬度為3的區域S″,S″恢復了S原有的連通性.就理論上而言,上述的膨脹運算并不能絕對保證S″的連通性,但就實際應用而言,由于我們事先對圖像作了簡單的圖像形態學處理,G的毛刺不再極端嚴重,這時G的基本骨架S中相鄰二點P1、P2對應的中點Q1、Q2的坐標相差一般不大于3,因而以3×3的正方形為結構元素的膨脹運算,可以使S″恢復S的連通性.
2•3S″的細化與伸長
對區域S″,采用前述的基本細化算法進行細化,就得到了連通的單像素寬的骨架SK.由于S″基本上是以較接近理想骨架的點為中心、寬度為3的連通區域,因而細化的結果與理想骨架相當接近.在人類染色體的識別與分析系統中,染色體的長度是一個重要參數.而骨架的長度也就反映了染色體的長度,因而,染色體的骨架應該延伸到染色體的兩端.對于這種情形,HATA算法中包含了延長處理.延長就是在SK的兩端各取3個像素,分別按這3個像素確定骨架兩端的方向將骨架延長到染色體的邊界.
3HATA算法在醫學圖像處理中的應用及實驗結果
人類染色體圖像的識別和分析是醫學圖像處理研究的重要課題.一個染色體中按紋理灰度的深淺分為深帶紋和淺帶紋,一個染色體的深帶紋和淺帶紋的分布是識別和分析染色體的關鍵因素.因此,準確提取染色體骨架,對于染色體的識別和分析有關鍵的作用.采用了HATA算法,有助于提高染色體分析系統的性能.為了檢查HATA算法求出的骨架的質量,把它與文[3,4]中的算法進行比較.對于染色體圖像和字符圖像的結果.為了對細化算法的準確度進行更精確的描述,本文采用了類似于文[3]中的準確度計算公式.設骨架的精確度用ACC表示,則對骨架的每個點作如下處理:1)若骨架點位于理想骨架上,則ACC加3;2)若骨架點不在理想骨架上,令d為該骨架點離理想骨架點距離的最小值,ACC減d.對于文獻[3,4]、HATA和理想骨架,用上述的計算公式計算染色體骨架的準確度分別為-125、19、114和180;字符A骨架的準確度分別為33、6、46和198.實驗結果表明,HATA算法求出的骨架優于文[3,4]算法求出的骨架,它與理想骨架相當接近,HATA是一個準確度較高的細化算法.