汪建林
寧夏醫(yī)科大學(xué)理學(xué)院,寧夏 銀川 750004
隨著信息技術(shù)的發(fā)展,數(shù)字圖像處理技術(shù)作為一種非常有效的手段越來(lái)越多的應(yīng)用于細(xì)胞圖像的研究中,在一定程度上可提高工作效率和檢驗(yàn)精度。本文針對(duì)已經(jīng)獲得的紅細(xì)胞顯微圖像,進(jìn)行了分割和計(jì)數(shù)的算法研究,并在Matlab軟件中進(jìn)行了仿真,獲得了比較好的實(shí)驗(yàn)效果。
將顯微圖像從RGB空間轉(zhuǎn)換到HSI空間后,在飽和度高的區(qū)域,H量化細(xì),采用色調(diào)H的閾值進(jìn)行分割;在飽和度低的區(qū)域,H量化粗無(wú)法分割,但由于此時(shí)比較接近灰度圖像,因而可采用強(qiáng)度I的閾值進(jìn)行分割,最后對(duì)分割后的圖像合成。這種方法利用了顏色信息,有效的獲得紅細(xì)胞區(qū)域。對(duì)于合并后的紅細(xì)胞區(qū)域圖像,采用大津法即可得到紅細(xì)胞的二值化圖像,如圖1所示。
圖1 (a)為輸入的彩色圖片,(b)S空間分割合并效果圖,(c)紅細(xì)胞二值圖像
從圖1(c)中可以看出,二值化后的細(xì)胞圖像中重疊和粘連情況比較嚴(yán)重,針對(duì)此問(wèn)題,本文采用邊界跟蹤的分割方法且進(jìn)行了相應(yīng)的改進(jìn)進(jìn)。
本文的邊界跟蹤算法是按照從左到右,從上到下的順序搜索目標(biāo),設(shè)序列數(shù)組為K。首先從左上方開(kāi)始搜索第一個(gè)目標(biāo)像素點(diǎn),設(shè)為k0,則像素k0是該區(qū)域最左上角的邊界像素,也就是搜索的起點(diǎn),設(shè)定搜索方向按逆時(shí)針,八鄰域方向搜索。k0設(shè)置為跟蹤標(biāo)志,并將k0做為序列數(shù)組的第一個(gè)元素插入,按逆時(shí)針?lè)较蛩阉飨乱粋€(gè)目標(biāo)像素,并設(shè)為k。如果找不到,則k為孤立像素區(qū)域;若k等于搜索起始邊界像素k0,則按順序繼續(xù)判斷其它鄰近方向上是否還有未跟蹤到的邊界像素,若沒(méi)有,則已回到起始點(diǎn),算法結(jié)束。序列K中的邊界像素點(diǎn)組成一條封閉區(qū)域,將目標(biāo)區(qū)域包圍在內(nèi)。在實(shí)驗(yàn)過(guò)程中,為了提高邊界跟蹤的效率將搜索方向做了相應(yīng)的改變。設(shè)搜索方向變量為M,若當(dāng)前M在斜角方向上,則更新M=(M+4+2)/8,否則按照M反向方向搜索,經(jīng)實(shí)驗(yàn)得出,運(yùn)用這種方法,每跟蹤一個(gè)邊界像素點(diǎn)只需要檢測(cè)其鄰近的3個(gè)像素,在一定程度上提高了搜索速度。該基于八鏈碼的邊界跟蹤算法,可以一次掃描獲得物體邊界點(diǎn)序列以及邊界鏈碼信息,為后續(xù)分割做好了準(zhǔn)備。
對(duì)于凹陷特征有明顯的重疊、粘邊細(xì)胞區(qū)域的分割,引入一個(gè)概念:最短刪除路徑。所謂最短刪除路徑,是指從目標(biāo)區(qū)域某一個(gè)邊界像素出發(fā),通過(guò)區(qū)域內(nèi)部,到達(dá)另一個(gè)邊界像素的最短距離。用所需要?jiǎng)h除的像素?cái)?shù)來(lái)衡量這一路徑,用該路徑將目標(biāo)區(qū)域分割所需要?jiǎng)h除的像素?cái)?shù)是最少的。
所以在八連通邊界跟蹤過(guò)程中,如果區(qū)域的刪除路徑的寬度小于等于2個(gè)像素時(shí),則跟蹤過(guò)程會(huì)第二次遇到原先檢測(cè)過(guò)的邊界點(diǎn)。如圖2所示,當(dāng)八連通邊界跟蹤檢測(cè)到k13和k14時(shí),會(huì)分別遇到已檢測(cè)過(guò)的邊界像素點(diǎn)k6和k5。一般情況下,這正是細(xì)胞的重疊、粘連處所在。如果將跟蹤獲得的邊界序列點(diǎn)刪除掉,則重疊、粘連將在此處分裂為兩個(gè)細(xì)胞。以此類(lèi)推,即使兩個(gè)細(xì)胞在粘連處的最小刪除路徑大于2個(gè)像素,只要圖像中的細(xì)胞滿足類(lèi)圓的凸集特性,則細(xì)胞重疊、粘邊處必然會(huì)有凹陷的情況,因此,只要等寬度地不斷跟蹤、刪除區(qū)域邊界像素,則重疊、粘連細(xì)胞最終會(huì)分裂。
圖2 邊界跟蹤分割示意圖
圖3 分割效果圖
由于分割后的一幅圖像內(nèi)存在多個(gè)目標(biāo)區(qū)域,為每個(gè)目標(biāo)區(qū)域分配相應(yīng)標(biāo)號(hào)的工作被稱(chēng)為標(biāo)記,標(biāo)記結(jié)束時(shí)也就同時(shí)完成了計(jì)數(shù)。標(biāo)記的實(shí)質(zhì)工作就是檢查各像素與其相鄰像素的連通性,然后對(duì)連通區(qū)域進(jìn)行計(jì)數(shù),進(jìn)而實(shí)現(xiàn)目標(biāo)的自動(dòng)計(jì)數(shù)。
二次掃描標(biāo)記法只需要掃描兩次即可完成整個(gè)的標(biāo)記,如圖4所示為二次掃描標(biāo)記算法示意圖:
圖4 二次掃描標(biāo)記算法示意圖
設(shè)圖像的目標(biāo)區(qū)域灰度為0,背景區(qū)域灰度值為1。第一次掃描結(jié)束后,所有灰度值為0的像素點(diǎn)都已經(jīng)被標(biāo)記過(guò)了,但是有些標(biāo)記是等價(jià)的。在進(jìn)行第二次掃描時(shí),首先要根據(jù)等價(jià)對(duì)數(shù)組整理出等價(jià)關(guān)系,然后根據(jù)等價(jià)關(guān)系對(duì)目標(biāo)區(qū)域進(jìn)行重新標(biāo)記。在第二次掃描結(jié)束后,所有灰度值為0的目標(biāo)區(qū)域都被賦予了不同的標(biāo)記值,據(jù)此就可以將目標(biāo)區(qū)分為不同的連通區(qū)域。得到不同的連通區(qū)域的數(shù)目就是相應(yīng)細(xì)胞的個(gè)數(shù),即完成了細(xì)胞的計(jì)數(shù)。
在MATLAB中分別對(duì)基于凹點(diǎn)算法、分水嶺算法和本算法進(jìn)行了分析對(duì)比。其中基于凹點(diǎn)算法的漏識(shí)數(shù)目為26,識(shí)別效率為87.9%;基于分水嶺算法的漏識(shí)數(shù)目為17,識(shí)別效率為92.1%;本文算法的漏識(shí)數(shù)目為11個(gè),識(shí)別效率為94.5%。整體上看,本文算法在計(jì)數(shù)準(zhǔn)確度和計(jì)數(shù)速度上都有明顯的優(yōu)勢(shì)。
[1]秦紅星,蔡紹皙.彩色血液細(xì)胞圖像的分割[J].中國(guó)血液流變學(xué)雜志,2003(13):3.
[2]陸建峰.重疊細(xì)胞圖像分享算法的設(shè)計(jì)[J].計(jì)算機(jī)研究與發(fā)展,2000,2,2.
[3]李盛陽(yáng).醫(yī)學(xué)細(xì)胞圖像分割與分析方法研究[D].山東科技大學(xué),2003.
[4]Istvan Cseke.A fast segmentation scheme for while blood cell images[J].Pattern Recognition,1992,3(3):530-533.
[5]Jain A K.Fundamentals of Digital Image Processing[M].Prentice_Hall,1989.