蘇春莉,王艷君
(西安歐亞學院 信息工程學院,陜西 西安 710065)
改進的圖像增強算法及DSP實現
蘇春莉,王艷君
(西安歐亞學院 信息工程學院,陜西 西安 710065)
文中基于圖像增強方法及其實現進行了研究。首先闡述了傳統的直方圖均衡化方法存在的問題,進而提出了改進的自適應直方圖均衡化圖像增強算法。采用空閑灰度級動態分配的自適應直方圖均衡化增強算法,并將該算法移植到本文搭建的DSP硬件實驗平臺上進行驗證,實驗表明,該算法顯著的改善了圖像的視覺效果,使圖像更清晰,且算法計算簡單,硬件實現容易,在圖像處理應用中十分可行有效。
圖像增強;直方圖均衡化;DSP;CCS
圖像增強作為圖像處理的重要組成部分,應用非常廣泛。比如交通監控、生物醫學影像等。圖像增強是指按照一定的應用需求,對原始圖像進行處理,突出圖像的某些信息,消弱或去除不需要的信息,改善圖像的視覺效果,提高圖像成分的清晰度,得到對具體應用來說更實用的圖像,或將原圖像轉換成一種適合人或機器進行處理的形式[1]。
圖像增強方法主要分為兩大類:基于空間域方法和基于頻域方法。對于空間域這類方法,是以對圖像的每個像素點直接進行處理為基礎的,它主要有直方圖處理、直接灰度變換等。頻域增強技術則是以修改圖像的傅氏變化作為基礎,它主要有:高通濾波、低通濾波等。這些方法都是傳統的圖像增強技術,隨著人們對圖像增強技術研究的不斷深入,目前也出現了新的增強方法:基于數學形態學增強法、模糊增強法等等。這些方法都各有優缺點,一種方法不可能完全取代其它所有方法,一種圖像增強算法不可能對所有類型的圖像都有很好的增強效果。本文在空間域上,提出了空閑灰度級動態分配的自適應直方圖均衡化圖像增強算法[2],從實現的難易程度以及處理效果來看,該算法簡單有效,實現容易,對視頻圖像有一定的增強作用。
傳統的直方圖均衡化增強算法是針對整幅輸入圖像進行同一處理,以此來增強圖像的對比度。其基本思想是:通過把原始圖像的直方圖變換成均勻分布的形式來增加像素灰度值的動態范圍,從而達到增強圖像整體對比度的效果。當圖像的直方圖呈均勻分布時,圖像所包含的信息熵最大,故經直方圖均衡化處理以后圖像包含的信息量最大,圖像看起來也就顯得清晰。
該方法存在一定的問題,因為它的處理是以256個灰度級別中每一灰度級出現概率的大小作為增強處理的依據,而在去霧圖像中所需增強的目標部分其灰度級出現概率較小,故進行全局均衡化增強處理時,目標圖像因受背景圖像的影響而出現灰度級簡并現象,使得圖像中需增強的細節信息出現丟失。
為克服傳統處理方法所造成的簡并現象,以及降低局域增強算法的運算復雜度,文中采用改進的“空閑灰度級動態分配的自適應直方圖均衡化增強算法”。
通過對原算法的大量試驗結果進行分析,發現直接將灰度增強算法應用于彩色圖像,處理結果會出現色彩失真現象。為了保證增強處理不會造成圖像色彩的失真,本文選擇在RGB彩色空間對圖像進行處理[3]。采用對RGB統一統計的方法,以得到圖像的直方圖,在此直方圖的基礎上進行直方圖均衡化,對R、G、B 3個分量使用同一非線性拉伸函數進行處理。改進后算法的實現過程為:
1 )色度空間轉換
首先采用工業攝像頭作為視覺傳感器,其采集來的模擬視頻信號經視頻解碼芯片解碼后輸出為4:2:2格式的YUV信號。由于本算法是在RGB彩色空間進行圖像增強處理,故在算法處理之前需進行預處理,即完成YUV到RGB視頻格式的轉換。
2 )閾值的選取
閾值法[4-5]是一種最為簡單、最為常用的圖像分割方法,它用于將圖像灰度級別劃分為多個部分的灰度門限值。這里采用二次迭代法進行閾值的求取。
二次迭代法的主要求解過程為:
①根據下式求出初始閾值:

② 根據初始閾值T0將256個灰度級劃分為兩部分,即[0,T0]和[T0+1,255]。然后對這兩部分灰度區間分別求取平均灰度值,記為Tsmall和Tbig,依據這兩個值計算新的分割閾值:T1=(Tsmall+Tbig) /2,將T1替代T0作為新的全局閾值。此時整個灰度區間被劃分為[0,T1]和[T1+1,255]兩個部分。
3 ) 直方圖均衡化處理[2]
首先進行空閑灰度級的統計。所謂空閑灰度級,理論上來講指的就是在灰度范圍內從未出現的灰度級,即出現頻率為0的灰度級。但是,在實際采集到的圖像中,由于各種原因,不可能出現絕對空閑灰度級,此時可將出現頻率在定值m以下的所有灰度級視為空閑灰度級。
將空閑灰度級總數N按比例分配。在此,定義A、B分別表示分配到區間[0,T1]和[T1+1,255]上的空閑灰度級別數,定義M表示區間[0,T1]內的非空閑級別個數。則A、B的求值公式如下:

將空閑灰度級按比例分配到區間[0,T1]和[T1+1,255]上后,可以得到一個新的分割閾值T2,新閾值的求解公式為:T2=M+A
依據上式求出新閾值T2,可以確定灰度區間[0,T1]和[T1+1,255]經過增強處理后的灰度區域變換范圍,即[0,T1]區間經處理后其對應區間為[0,T2],[T1+1,255]經處理后的區間為[T2+1,255] 。分別對區間[0,T1]和[T1+1,255]進行直方圖均衡化處理,其均衡化的灰度變化公式為:

灰度區間[0,T1]和[T1+1,255]經局域直方圖均衡化處理后,生成一張灰度級變換的查找表,當下一幀圖像到來時,其有效像素點的R、G、B灰度值根據查找表進行灰度值的變化,則輸出即為經過清晰化處理后的圖像。
隨著大規模集成電路的發展,尤其是數字信號處理器(DSP)的出現使計算機視覺的實時處理成為可能。根據前述改進的自適應直方圖均衡化增強算法,設計了一個DSP圖像增強系統,并完成實時視頻圖像增強實驗。
本DSP圖像增強系統[6]由攝像頭、DM642嵌入式系統開發板、XDS510 USB2.0仿真器、顯示器和PC機組成。其工作流程是由攝像頭采集的圖像數據流經過DM642開發板上的解碼芯片解碼后,送入DM642進行處理,最后由顯示器顯示,PC機使用TI CCS3.1開發環境編寫程序通過仿真器燒寫入開發板中。
對于DM642的軟件開發,采用TI公司提供的專用集成軟件開發環境CCS(Code Composer Studio),CCS提供了配置、建立、調試、跟蹤、分析程序的工具,利用它進行圖像處理算法的編程和測試非常方便,它能加速整個開發的進程,提高工作效率。
在CCS中進行算法的編寫與編寫C語言程序比較類似,一個程序中有且只能有一個主函數,且程序執行從主函數開始,不同的是一個完整的DSP程序除了主函數外還需.cmd文件、.asm文件、.lib文件。.cmd文件為鏈接器命令文件,它主要用來對二級緩存、FLASH和SDRAM的存儲空間進行分配;.asm文件主要包括DSP的矢量跳轉表和中斷向量表文件;.lib文件用于提供標準C語言的庫文件以及支持編譯器所提供的所有功能等。在CCS開發環境中,對于一個圖像處理工程,其程序的運行流程可如圖1所示。

圖1 程序運行流程圖Fig. 1 Program flow chart
在調試過程中,使用仿真器XDS510 USB2.0與DSP的JTAG口連接進行在線仿真。經在線調試好之后的程序,通過JTAG口將其可執行文件燒寫到DSP的外部存儲器FLASH中,當系統上電后,DSP自動從FLASH中讀取執行文件。從FLASH中引導應用程序的步驟如下:
①系統上電后DSP自動復位,DM642從FLASH中拷貝固定長度的數據塊(其中包括用戶自身的引導代碼)到內部RAM中,用以初始化DSP的部分存儲器;
②執行用戶的引導代碼和其它數據段,以及復制程序初始化所必需的段;
③使用包含.cinit段中的數據初始化.bss段中C語言變量;
④程序從main()函數處開始執行。
基于本文提出的改進的自適應直方圖均衡化增強算法,將其移植到搭建的DSP硬件平臺上驗證其功能。首先在CCS中建立工程img_enhance.pjt,在工程下建立3個文件夾Include、Source、Libraries。Include文件夾下主要加載的是.h文件,這些文件規定了對DM642的外部設備編程所需遵循的標準協議,包括外設(EMIF、VP port、EMAC、IIC、GPIO等)配置的宏定義,對各種外設進行操作所用的接口函數等;Libraries中所包含的文件為C語言運行支持庫以及DM642驅動庫;Source文件夾下所包含的文件有:執行程序.c文件,.asm文件,以及.cmd文件。整個工程的結構圖如圖2所示。

圖2 工程結構圖Fig. 2 Project structure diagram
在主函數中所調用的.c文件共有8個,cpld.c文件中的子函數主要是用來讀取人機交互界面8個按鍵的值以及控制外部的8個LED燈的亮滅;gpio.c文件主要用來配置DSP的16個通用IO口;iic.c文件中包含3個子函數,分別用于IIC總線配、IIC總線寫數據、IIC總線讀取數據;misc.c文件中包含解碼器SAA7113和編碼器SAA7121所支持的各種視頻制式的初始化配置參數,以及通過IIC對編、解碼芯片進行初始化的子函數;dm642.c文件中函數DM642_init()主要用來對DM642的板上API接口進行初始化;vportcap.c文件中,bt656_8bit_ncfc( int portNumber)子函數用來申請打開一個VP口,對VP口的各寄存器進行配置,并為該VP口建立EDMA通道,VPCapChaAIsr(void) 子函數是采集中斷函數,setupVPCapChaAEDMA(int portNumber)子函數為采集視頻口建立EDMA通道,configVPCapEDMAChannel()子函數用于EDMA通道的配置;vportdis.c文件中所包含的子函數與vportcap.c文件中的類似,只是它的視頻口是用作視頻輸出的;fogmove.c文件是本工程中的圖像處理核心算法,它的子函數是視頻去霧算法的C語言實現。
編譯無誤后,通過XDS510下載線進行在線調試,即軟硬件聯調。經DSP硬件試驗平臺進行功能驗證,其處理效果如圖3所示。從圖中可以看出,改進算法對原圖像有一定的清晰化效果。

圖3 圖像增強效果圖Fig. 3 Effect of map image enhancement
文中在傳統的直方圖均衡化的基礎上,提出了改進的自適應直方圖均衡化圖像增強算法,并搭建了DSP硬件實驗平臺,將算法移植到DSP平臺上驗證其增強效果。通過實驗發現,該算法對視頻圖像的增強效果較為顯著。
[1] 許欣. 圖像增強若干理論方法與應用研究[D]. 南京:南京理工大學,2010.
[2]高赟. 圖像灰度增強算法的研究[D]. 陜西:西安電子科技大學,2007.
[3] Guanzhang Li,Wusheng Luo,Pei Li, et al. Fusion Enhancement of Color Image Based on Global Histogram Equalization[C]//IEEE Proceedings- International Conference on Computer Science and Software Engineering, CSSE 2008.
[4] Shiping Zhu,Xi Xia,Qingrong Zhang,et al.An Image Segmentation Algorithm in Image Processing Based on Threshold Segmentation[C]//Proc.IEEE International Conference on Signal Image Technologies and Internet Based Systems,SITIS,2007.
[5] 馬馳,張紅云,苗奪謙,等. 改進的多閾值動態二值化算法[J].計算機工程, 2006(6):203-205,208.
MA Chi,ZHANG Hong-yun,MIAO Duo-qian,et al.Improved multi threshold dynamic two value algorithm[J]. Computer Engineering.2006(6):203-205,208.
[6] 孫振興. 基于DSP的圖像增強技術研究[D].西安: 西安電子科技大學,2012.
Algorithm of improved image enhancement and implementation of DSP
SU Chun-li, WANG Yan-jun
(Information Engineering Institute,Xi’an Eurasia University,Xi’an 710065, China)
This paperstudy the image enhancement method and its realization. Firstly, it describes the present problems of traditionalhistogram equalization method, then proposed the image enhancement algorithm of improved adaptive histogram equalization. Useing free grayscale dynamically allocated of the image enhancement algorithm, and the algorithm was transplanted into the DSP hardware platform for verification, experiments show that, this algorithm improves the visual effects of the image, the image is more clear, and the algorithm is simple, easy for hardware implementation, in image processing applications very effective.
image enhancement; histogram equalization; DSP; CCS
TN37
A
1674-6236(2014)11-0188-03
2014–02–28 稿件編號:201402214
陜西省科技廳自然科學基礎研究基金資助項目(2012JM8027);陜西省教育廳專項科研計劃項目資助(12JK1060)
蘇春莉(1977—),女,陜西蒲城人,碩士,講師。研究方向:嵌入式開發、數字圖像處理。