天天看點

基于DSP的嵌入式顯微圖像處理系統的設計基于DSP的嵌入式顯微圖像處理系統的設計

基于DSP的嵌入式顯微圖像處理系統的設計

[日期:2008-7-25] 來源:電子技術應用  作者:張懷柱 尹傳曆 宋建中 喬 雙 [字型:大 中 小]

<script src="http://www.21ic.com/innews.js"></script>

 

顯微圖像處理是數字圖像處理的一個重要研究領域,随着其技術的不斷發展,已經在材料、生物、醫學等領域得到了廣泛應用[1][2]。目前的顯微圖像處理通常利用圖像采集系統将顯微圖像采集到計算機中再進行圖像處理,這樣,雖然運算速度高,但體積龐大、不便于攜帶,有一定的局限性。是以,采用數字圖像處理技術和DSP技術實作顆粒顯微圖像的高效、快速、全面的統計與測量,具有重要的實用價值和廣闊的應用前景。

    本文提出并設計了一種基于DSP和FPGA的嵌入式顯微圖像采集處理系統,如圖1所示。其中,圖像采集與處理裝置是整個系統的關鍵部件,它以DSP和FPGA為核心,DSP作為中央處理器負責圖像濾波、門檻值分割及目标的數目、直徑及面積等統計處理,通過FPGA完成各種接口邏輯和時序比對,并配以大容量存儲器用于圖像的存儲。DSP晶片體積小,運算速度快,使用靈活友善;FPGA具有在系統可程式設計和控制邏輯實作靈活的特點。是以,既能夠滿足處理的快速性,又能滿足小型化便于攜帶的要求。

基于DSP的嵌入式顯微圖像處理系統的設計基于DSP的嵌入式顯微圖像處理系統的設計

1 系統硬體平台設計

    基于視訊圖像處理的顯微圖像處理系統的性能,在很大程度上依賴于其硬體處理單元的結構和性能。本系統所采用的硬體結構主要由5大子產品組成:DSP核心處理單元、視訊圖像采集與存儲子產品、字元與圖形疊加單元、通訊與使用者互動接口子產品、電源子產品。系統電路框圖如圖2所示。

基于DSP的嵌入式顯微圖像處理系統的設計基于DSP的嵌入式顯微圖像處理系統的設計

圖2  嵌入式顯微圖像處理系統硬體結構框圖

    系統的工作過程為:系統上電後,DSP執行BOOTLOAD程式,将使用者程式代碼從外部Flash load到内部程式存儲器,并執行A/D、字元疊加等初始化操作。視訊采集與轉換子產品将CCD錄影機輸出的模拟視訊信号轉換為數字圖像資料并存儲在RAM中,在一場圖像采集完畢後,由場同步信号通過FPGA以中斷方式通知DSP,DSP從RAM中讀取圖像,并負責完成圖像濾波、分割、測量等各種處理算法,将測量結果通過字元圖形疊加單元顯示在螢幕螢幕上,也可以根據需要由通訊接口子產品傳送給主機。各種接口邏輯與時序控制通過在FPGA器件内部程式設計實作。

    模拟視訊信号分為兩路:一路經A/D轉換為數字圖像信号,另一路則與視訊疊加晶片MAX442和字元疊加晶片μD6453進行圖形和字元的疊加顯示。這裡采用Philips公司的SAA7111A作為視訊A/D解碼晶片,它将CCD錄影機輸出的模拟視訊信号轉換為數字圖像資料,并在FPGA的控制下存儲在RAM中,同時産生行同步信号HS、場同步信号VS、奇偶場标志信号RTS0以及像素時鐘信号LLC2。MAX442是一個雙通道視訊信号放大器,增益帶寬高達140MHz。μPD6453為NEC公司生産的用于視訊裝置中的字元發生晶片。待顯示的字元和圖形與CCD錄影機輸出的原始圖像一起疊加顯示在螢幕螢幕上。

    在圖像采集過程中,視訊解碼晶片SAA7111A按像素逐點輸出4:2:2的YUV格式的數字圖像資料。該格式中,每幀圖像的分辨率為720×576,即每行有720個像素點,每幀576行,由于一幀圖像是由奇、偶兩場圖像組成的,是以每場圖像有288行。為了處理友善,每場采集的圖像大小為512×256,即每行采集512個像素,每場(奇場或偶場)采集256行,通過在FPGA中程式設計實作像素延時和行延時,選擇每行中間的512個像素和每場中間的256行。

2 軟體設計

    傳統的DSP程式多采用單線程順序結構實作,其實時性較差,資源使用率低,在高速、實時的圖像處理領域中難以滿足實際要求。CCS(Code Composer Studio)是一個完整的DSP內建開發環境,不僅內建了正常的開發工具,如源程式編輯器、代碼生成工具(編譯、連結器)以及調試環境,還提供了DSP/BIOS開發工具。DSP/BIOS是一個簡易的嵌入式作業系統,它本身僅占用極少的CPU資源,而且是可裁剪的,能大大友善使用者編寫多任務應用程式,增強對代碼執行效率的監控,提高程式的可讀性,友善使用者應用程式的編寫,縮短軟體開發周期。

2.1 軟體程式框圖

    本文在DSP/BIOS的基礎上,設計開發了顯微圖像處理系統的DSP應用程式。使用混合語言程式設計,用C語言設計程式中對運作時間影響不大的子產品,用彙編語言設計嚴格要求實時性的核心算法。在這裡,程式采用子產品化設計,各個功能子產品互相獨立,程式框圖如圖3所示。該程式主要由1個主程式初始化子產品、3個硬體中斷HWI處理子產品、1個軟體中斷SWI處理子產品和4個任務子產品TSK構成。

基于DSP的嵌入式顯微圖像處理系統的設計基于DSP的嵌入式顯微圖像處理系統的設計

    當系統複位後,DSP執行Bootload引導程式,并将程式入口點設定到c_int00處,DSP/BIOS應用程式從該處開始運作,執行過程為:首先調用DSP/BIOS初始化子產品,并調用主函數main(),由main()函數負責完成硬體資源配置設定及各種外圍晶片工作方式的初始化設定;然後啟動DSP/BIOS,并進入空閑循環周期。這時,應用程式完全由硬體中斷驅動,隻有産生中斷時,才會執行相應的功能子產品,執行完畢後跳出繼續執行Idle空閑循環程式。

2.2 圖像處理算法設計

    當采集完一場圖像後,FPGA以中斷方式通知DSP,觸發DSP的INT0中斷。由于一場圖像的時間間隔為20ms,是以每隔20ms觸發一次該中斷。在中斷處理程式Vs_interrupt()中啟動鍵盤掃描SWI,若有鍵按下,則執行相應的圖像處理程式。

    顯微圖像受光源光照強度的影響很大,采集的圖像往往品質較差、亮度不均勻,目标區域不易從背景區域中分離出來。為此,需要首先對圖像進行濾波處理,然後采用自适應門檻值的辦法将目标從背景中提取出來,并利用數學形态學的方法進一步去噪處理,最後完成對圖像中目标的統計測量計算。

    首先,利用中值濾波進行圖像平滑,視窗大小選擇3×3,采用十字狀視窗。中值濾波在保持目标圖像邊緣的同時,去除了尖峰幹擾,使圖像背景的亮度更均勻,便于進一步的圖像分割處理。

    由于光源光照強度的影響,背景的灰階值在整幅圖像中存在很大差别,如果隻用一個固定的全局門檻值對整幅圖像進行分割,則由于不能兼顧圖像各處的情況而使分割效果受到影響。為提高分割的精确性,可采用随背景灰階值緩慢變化的動态門檻值分割的方法,即自适應門檻值算法。具體做法是:首先将原圖像分解成系列子圖像,由于子圖相對原圖很小,是以受陰影或對比度空間變化等問題的影響會比較小;然後對每個子圖計算一個局部門檻值;最後通過對這些子圖所得到的門檻值進行線性插值,就可以得到對原圖中每個像素進行分割所需要的合理門檻值。分割後的二值圖像再利用數學形态學變換中的開、閉運算并選取合适的算子,便可以很好地消除圖像中仍然存在的少量噪聲點,利于下一步的工作。

    這裡,在局部門檻值計算時采用最大類間方差法[6],其計算公式為:

基于DSP的嵌入式顯微圖像處理系統的設計基于DSP的嵌入式顯微圖像處理系統的設計

    其中:σ2(T)為兩類間最大方差,WA為目标機率,μa為目标的平均灰階,WB為背景機率,μb為背景平均灰階,μ為圖像總體平均灰階。即門檻值T将圖像分成A、B兩部分,使得兩類總方差σ2(T)取最大值的T,即為最佳分割門檻值。

    為了實作對顯微圖像中目标的數目以及直徑、面積等幾何特征的統計測量,采用了對二值圖像的目标區域進行标記歸類的算法[7]。首先對二值圖像的目标區域從左到右、自上而下進行掃描,若為目标點,則對其加以标記,并根據八連通原則将屬于同一個顆粒的目标圖像賦予相同的數值。标記歸類算法示意圖如圖4所示。由于目标的幾何形狀是不規則的,一次掃描不能夠把所有目标全部區分開來,是以要對二值圖像進行多次掃描。圖4(a)表示二值圖像(黑色區域為目标,白色為背景),圖4(b)為對目标區域的一次标記,圖4(c)為最後标記完成的結果。其中,數字1表示1号目标,數字2表示2号目标。從圖4可以看出,1号目标的标記經過一次掃描就能夠完成,而2号目标則需要二次掃描方可完成标記。目标圖像經過标記歸類後就可以很友善地對目标的數目及直徑、面積和周長等特征進行測量了。

基于DSP的嵌入式顯微圖像處理系統的設計基于DSP的嵌入式顯微圖像處理系統的設計

3 實驗結果

    為了驗證系統的可靠性,對來自顯微鏡下的油膜顆粒圖像進行了大量的采集處理與統計測量實驗。圖5(a)是現場采集的一幅顆粒顯微圖像,圖像大小為512×256,由于光源光照強度的影響,整幅圖像背景不均勻。圖5(b)是采用自适應門檻值二值化後的圖像,目标區域與背景區域已經分離開,雖然還有少量的噪聲點,但是經過數學形态學變換後已經能夠準确地進行顆粒的統計計算。

基于DSP的嵌入式顯微圖像處理系統的設計基于DSP的嵌入式顯微圖像處理系統的設計

    在統計測量過程中,面積小于3個像元的目标被當作噪聲幹擾而略去不計,隻對面積大于等于3個像元的目标加以統計。為了便于進一步的分析和比較,将目标按像元數目分成9個檔次: 3~10、11~20、21~30、31~40、41~50、51~60、61~70、71~80和81以上。對顆粒的數目、平均面積以及各檔次所占比例進行了統計計算,結果如表1所示。實驗中,在DSP晶片TMS320VC5416工作在最大工作頻率160MHz時,程式的運作時間約為15ms。由于視訊采集為PAL制,一場圖像時間為20ms,是以能夠達到實時性要求。

基于DSP的嵌入式顯微圖像處理系統的設計基于DSP的嵌入式顯微圖像處理系統的設計

    本文提出了一種以TMS320VC5416作為圖像處理的核心部件的嵌入式顯微圖像處理系統,設計了基于DSP/BIOS的應用程式。利用自适應門檻值算法對采集的圖像進行準确的分割,并采用掃描标記算法對油膜顆粒顯微圖像進行了統計測量實驗。實驗結果表明,利用本系統對顆粒顯微圖像進行統計,可達到全面、客觀、友善且自動化程度高的效果,可以應用于各種顯微圖像的統計與分析,具有較高的實用性。

參考文獻

[1] 辛莉,胡茂海,周紹光.水稻花粉顆粒顯微圖像采集與分析系統研究[J].應用光學,2004,25(1):43-45.

[2] 尤育賽,于慧敏,劉圓圓.基于粒度測量的重疊圓形顆粒圖像分離方法[J].浙江大學學報(工學版),2005,39(7):962-966.

[3] TMS320VC5416 Fixed-Point Digital Signal Processor Data Manual,SPRS095O[J].Texas Instruments,2005,1.

[4] 清源科技.TMS320C54X DSP硬體開發教程[M].北京:機械工業出版社,2003.

[5] 潘松,黃繼業.EDA技術實用教程[M].北京:科學出版社,2002.

[6] OTSU N.A threshold selection method from gray-level histogram[J].IEEE Trans,1979,SMC-15:652-655.

[7] 陳忠碧,張啟衡.一種适合于多目标檢測的圖像分割方法[J].光電工程,2004,31(5):34-37.

繼續閱讀