謝勤嵐,于小卉
(中南民族大學 生物醫(yī)學工程學院,武漢 430074)
血液對人體的作用不言而喻,它將氧氣從肺部運輸到身體的各個組織,并將身體組織產生的二氧化碳運走;它將消化系統產生的營養(yǎng)物質運輸到身體的各個細胞,并帶走腎臟產生的排泄物.血液幫助我們的身體對抗各種感染和毒素,并通過其凝血功能止血,保持人體溫度的平衡.醫(yī)務人員通常通過血液來檢測和診斷疾病.在血液細胞圖像檢測中,通常為了減少噪聲而要先做圖像增強,然后檢測血液細胞圖像特征,尤其是細胞數目統計.在采用數字圖像處理技術對細胞圖像中的數目進行統計時,由于細胞圖像中經常有細胞粘連甚至部分重疊現象,使得統計的細胞數目產生較大的誤差.
為了解決細胞圖像識別與統計的問題,不少研究者做了很多工作.劉莉莉和王錚[1]提出了一種適合血細胞圖像的改進流域分割算法,能使血細胞區(qū)域有效分割出來,解決了目標粘連現象.Karunakar和Kuwadekar[2]采用標記控制的分水嶺算法,設計出用于血紅細胞計數的Android手機程序.Kimbahune和 Uke[3]提出了一種脈沖耦合神經網絡方法來處理血細胞圖像,并證實其方法和結果真實可靠.林小竹等人[4]針對在圖像分析中所獲得的目標相互粘連,提出了一種有效的分水嶺分割算法,可以解決目標物體粘連和計數問題.周浩等人[5]運用數學形態(tài)學對血細胞圖像進行邊緣提取,結果表明基于數學形態(tài)學的邊緣提取算法對于細胞血液邊緣提取有很好的效果.陳立英等人[6]提出了一種基于最大類間方差法的遺傳分割算法,用于血液細胞圖像分割,結果表明該算法具有快速穩(wěn)定的特點.趙超陽等人[7]利用Matlab圖像處理工具箱對視錐細胞進行圖像處理,分析了細胞密度分布特點.
本文基于Matlab語言,通過程序實現了一種簡便的血紅細胞計數的工程方法.該方法可以進行有效地血紅細胞識別,并能對血紅細胞進行較為準確的數目統計.
為了得到準確的細胞計數結果,在計數前需要對細胞圖片進行預處理.對血紅細胞圖像進行灰度化、二值化、中值濾波、邏輯運算、形態(tài)學處理,以滿足后續(xù)標記、去粘連和計數的需要.
國際照明委員會(CIE)選擇的色彩三基色是紅色(R)、綠色(G)和藍色(B),三基色按照一定比例混合就可以得到自然界中幾乎所有色彩.考慮到血紅細胞圖像顏色單調,轉化成灰度圖像仍能保留完整的信息,而且從空間和速度方面考慮,將彩色圖片轉化成灰度圖像,不僅可以減少運算量,提高數據處理速度,還可以將減少圖像存儲空間.圖片的灰度化就是將彩色圖片中的色度和飽和度刪除,僅保留其亮度信息.彩色圖像進行灰度化有4中常用方法:三色均值法、最大分量法、加權平均法、轉化到其他顏色空間方法.
本文采用加權平均法來進行灰度化,應該根據圖像包含的信息或對圖像信息提取的要求,賦予R、G、B不同的權值.權重可以根據R、G、B三色分布直方圖獲得三個分量的取值范圍.本文的灰度化處理公式如下:
(1)
由于灰度圖片中還存在背景和噪聲,要想直接從圖片中獲取細胞圖像,將灰度圖像進行二值化.二值化處理中需要設定一個灰度閾值t,將灰度大于閾值的設置為1,小于閾值的設置為0,如式(2)所示.
(2)
從式(2)可以看出,灰度閾值t對二值化處理結果影響很大,目前存在很多方法用來優(yōu)化閾值t的選擇,比如Ostu法[8]、一維交叉熵值法[9]等.
為了消除二值圖像中的噪聲,中值濾波可以在不減少圖像對比度的情況,在一定程度上有效消除脈沖噪聲且不會模糊邊界.它的原理是將數字圖像中一點的值用該點臨域的各點值的中值代替,讓周圍的像素值更接近真實值,從而消除孤立的噪聲點.濾波結果如圖1(b)所示,對比圖1(a),可以發(fā)現通過對中值濾波后,細胞邊緣擴大,特別是圖片邊界的細胞.細胞邊緣擴大,黑色增多(二值圖像"0"增多).
圖1 自動閾值二值化圖像和中值濾波后的二值化圖像
通過初次二值化圖像與中值濾波后的二值化圖像進行“或”運算將優(yōu)化圖像效果,然后將圖像取反,使原本圖片中黑色的細胞變白,并將細胞中心黑色的部分填充,便于細胞計數.從圖2(c)可以看出,填充背景的圖像中,消除了一些由于取反帶來的噪聲,更接近真實情況.
圖2 邏輯運算后的二值化圖像、取反后的圖像和填充背景后的圖像
由于圖片中細胞粘連程度不相同,運用“開運算”使圖像的邊緣細胞得到較好的分離.圖像開運算也即先進行腐蝕運算后膨脹運算,可以表示為:
A°B=(QΘB)⊕B.
(3)
開運算的結果是使圖像邊界平滑,去除圖像中不包含結構信息的對象區(qū)域,斷開窄小的鏈接,而保留圖像中的包含結構元素的對象區(qū)域,并且保持其形狀和大小均不變.由于腐蝕是去除了較小的亮細節(jié),而隨后的膨脹中又沒有恢復,所以在實際應用中,灰度圖的開運算常用于去除相對于結構元素而言較小的亮點,同時保留所有的灰度和較大的亮區(qū)特征不變.
圖3 開運算后的圖像
進行開運算后,對圖像進行細胞邊界識別,便于后續(xù)細胞統計.本文采用8連通來識別,即向當前像素點的8個方向:0°、45°、90°、135°、180°、225°、270°、315°,分別進行識別.具體識別算法如下.
(1) 首先按照從上往下,從左到右的順序掃描圖像,尋找沒有標記跟蹤結束記號的第一個邊界起始點P0.P0是具有最小行和列值的邊界點.定義一個掃描方向變量dir,該變量用于記錄上一步中沿著前一個邊界點到當前邊界點的移動方向,其初始化取值為7.
(2) 按逆時針方向搜索當前像素的3×3鄰域,其起始搜索方向設定為:當dir是奇數時,起始搜索方向為(dir+7)mod 8(對8取模);當dir是偶數時,起始搜索方向是 (dir+6)mod 8.在3×3鄰域中搜索到的第一個與當前像素值相同的像素即為新的邊界點Pn,同時更新變量dir為新的方向值.
(3) 如果Pn等于第二個邊界點P1且前一個邊界點Pn-1等于第一個邊界點P0,則搜索停止,結束跟蹤,否則重復步驟2繼續(xù)搜索.
(4) 由邊界點P0,P1,P2,…,Pn-2構成的邊界即為要識別的細胞邊界.
細胞邊界識別結果如圖4所示.對細胞邊界進行識別之后,采用“貼標簽”算法,將背景元素設置為0,將第一個連通區(qū)域標記為1,第二個連通區(qū)域標記為2,以此類推.標記結束后最大的連通區(qū)域即為初步的連通域數目,存入數組Number.分析連通域數目,統計標簽數組中相同標簽的個數,存入數組Sum.存入數組Sum的元素,對應的是連通區(qū)域的大小,也即細胞的面積大小.結合實際細胞面積,剔除非細胞區(qū)域的連通域,得到初步的細胞數目,存入數組Number.計算細胞區(qū)域的加權平均面積,作為細胞面積閾值Area_TH.判斷Sum元素與細胞面積閾值的大小關系,統計細胞粘連情況,計算出連通域分割數目N,準確計算出細胞數目為Number+N.詳細的計算流程如圖5所示.
圖4 細胞邊界識別
圖5 細胞計數流程圖
本文以人體血液涂片為研究對象,采用奧林巴斯CX31顯微鏡觀察血液細胞圖像,并采用RZ F300C工業(yè)相機垂直拍攝圖像.由于相機拍攝的圖像超出了顯微鏡視野范圍,導致拍攝到的血液紅細胞圖像中間亮,邊緣暗.截取了原圖像和顯微鏡視野范圍一致的部位進行圖像處理和計數.
為了驗證本文的方法,對采集的血紅細胞圖像進行處理后,采用ImageJ軟件幫助人工計數,并與本文方法計數結果進行對比.ImageJ是一款基于Java的公共圖像處理的開放軟件,能對圖片進行圖像操作、對圖像的區(qū)域和像素進行統計.ImageJ的統計結果如圖6所示.兩種方法的統計結果如表1所示.從表1可以看出,本文方法可以很好地統計血紅細胞的數目,與人工計數相比,圖6(a)的誤差是2.67%,圖6(b)的計數誤差是0.37%.另外,采用分水嶺算法對相同的血紅細胞進行計數,結果如圖7所示,計數結果如表1所示.從表1中可以看出,本文方法比分水嶺算法的計數結果更為準確.
圖6 ImageJ軟件統計結果
圖7 采用分水嶺算法得到的a)和b)細胞圖像結果
表1 三種不同方法統計的細胞數目結果對比
本文基于Matlab語言,提出了一種用于血紅細胞計數的工程方法.該方法可以對血紅細胞圖像進行灰度化、二值化、邏輯運算、形態(tài)學處理、細胞邊緣識別,并用于細胞數目統計.經與ImageJ軟件統計結果相比,本文方法的統計結果誤差在5%以內,比分水嶺算法的計數結果更加準確.結果表明,本文方法簡便可行,是一種有效的工程圖像處理方法.
[1] 劉莉莉,王 錚.一種適合血細胞圖像分割的改進流域分割算法[J].微電子學與計算機,2010,27(11):37-39.
[2] Karunakar Yogesh,Kuwadekar Alhad. An unparagoned application for red blood cell counting using marker controlled watershed algorithm for Android mobile[C]//IEEE. Fifth International Conference on Next Generation Mobile Application,Services and Technologies.Beijing:IEEE,2011: 100-104.
[3] Kimbahune Vinod V,Uke Nelesh J. Blood cell image segmentation and counting [J]. International Journal of Engineering Science and Technology,2011,3(3): 2448-2453.
[4] 林小竹,王彥敏,杜天蒼,等.基于分水嶺變換的目標頭像的分割與計數方法[J].計算機工程,2006,32(15),181-183.
[5] 周 浩,李天牧,尉 洪. 基于數學形態(tài)學的血液細胞圖像邊緣提取[J]. 北京生物醫(yī)學工程,2002,21(2): 89-92.
[6] 陳立英,裴喜春,侯振杰. 基于遺傳算法的血液細胞圖像的分割方法研究[J]. 計算技術與自動化,2008,27(2):89-92.
[7] 趙超陽,姚軍平,劉 勇,等. 基于Matlab視網膜視錐細胞的圖像處理[J]. 中國組織工程研究,2013,17(15):2780-2785.
[8] Nobuyuki Ostu. A threshold selection method from gray-level histogram[J]. IEEE Transactions on Systems,Man,and Cybernetics,1979,9(1): 62-66.
[9] Li C H,Lee C K. Minimum cross entropy thresholding[J]. Pattern Recognition,1993,26(4): 617-625.