趙 建,趙 凡,曲 鋒
(1.中國科學(xué)院 長春光學(xué)精密機(jī)械與物理研究所,吉林 長春 130033;2.中國科學(xué)院大學(xué),北京 100049)
圖像增強(qiáng)[1-2]主要是將圖像轉(zhuǎn)換為更適合人眼觀察或者機(jī)器分析、識(shí)別的形式,改善圖像的質(zhì)量和視覺效果,以便獲得更清楚、明晰的富含大量有用信息的可使用圖像。圖像增強(qiáng)技術(shù)在軍事、遙感生物、公共安全、醫(yī)學(xué)工程等方面發(fā)揮著重要作用。圖像增強(qiáng)技術(shù)在對(duì)于灰度圖像的處理得到了普遍的應(yīng)用,但是隨著近年來彩色圖像的廣泛運(yùn)用,對(duì)彩色圖像的增強(qiáng)技術(shù)[3]有了明顯需求。由于彩色圖像的R、G、B分量相互不獨(dú)立,對(duì)于彩色圖像直接增強(qiáng),會(huì)造成圖像增強(qiáng)后顏色失真。而HSV空間更能反映人的視覺特性,將彩色圖像轉(zhuǎn)換成HSV空間,在該空間中對(duì)圖像進(jìn)行增強(qiáng)算法的處理,處理后圖像效果明顯優(yōu)于直接對(duì)彩色圖像增強(qiáng)。對(duì)于灰度圖像的增強(qiáng),常用的方法有直方圖均衡化,但是運(yùn)用該方法對(duì)于航拍圖像進(jìn)行增強(qiáng),容易造成圖像的紋理不清晰,細(xì)節(jié)信息也不能夠最大化的顯現(xiàn)。對(duì)圖像進(jìn)行分段拉伸也是一種常見算法,但是分段拉伸算法的關(guān)鍵點(diǎn)在于分段點(diǎn)的選擇,分段點(diǎn)的選擇稍有不慎便影響了整幅圖像的增強(qiáng)效果。而本文中基于插值的分段線性拉伸算法,可以根據(jù)圖像特點(diǎn)進(jìn)行分段拉伸,對(duì)于原始圖像的每一個(gè)像素點(diǎn)都可以進(jìn)行變換,改變灰度的動(dòng)態(tài)范圍[4-5],同時(shí)該插值點(diǎn)的選取,是根據(jù)直方圖統(tǒng)計(jì)結(jié)果所選取,充分考慮到圖像的特點(diǎn)。
在圖像增強(qiáng)的硬件實(shí)現(xiàn)上,最初是用DSP實(shí)現(xiàn),但是DSP在對(duì)數(shù)據(jù)接收和處理的過程中存在著延時(shí),很難達(dá)到實(shí)時(shí)性要求。后來發(fā)展為DSP+FPGA這種架構(gòu),這種系統(tǒng)運(yùn)算速度比較高,具有較強(qiáng)的靈活性和通用性,但是成本也較高,同時(shí)DSP和FPGA之間通信也比較復(fù)雜[6]。FPGA在結(jié)構(gòu)上的并行處理優(yōu)勢使得其更適合完成高速的運(yùn)算能力,同時(shí)系統(tǒng)結(jié)構(gòu)性強(qiáng),具有很大的靈活性?;谝陨媳尘?,該系統(tǒng)采用采用cyclone3系列的EP3C16 FPGA為處理器,將彩色圖像轉(zhuǎn)換為HSV空間,完成圖像的增強(qiáng)后,再將HSV轉(zhuǎn)換成為RGB彩色空間,具有實(shí)現(xiàn)簡單、集成度高、功耗低的特點(diǎn)[7-8]。
早期對(duì)于彩色圖像的增強(qiáng)是將灰度域圖像增強(qiáng)技術(shù)直接應(yīng)用到彩色圖像R,G,B三個(gè)分量上,但是這樣的做法會(huì)造成計(jì)算量比較大,并且由于R,G,B三個(gè)分量是相關(guān)的,也造成了彩色圖像的顏色失真。將彩色圖像轉(zhuǎn)換成HSV空間更能反映人的視覺特性,這也使得HSV空間在彩色圖像的處理中得到廣泛應(yīng)用。在HSV空間采用基于插值的分段拉伸算法對(duì)每個(gè)像素點(diǎn)進(jìn)行拉伸變換,最后將經(jīng)過拉伸過的灰度圖像轉(zhuǎn)換為RGB圖像。
在彩色成像設(shè)備和彩色顯示設(shè)備中,RGB色空間是一種簡單常用的色空間,它能使顏色從一個(gè)平臺(tái)映射到另外一個(gè)平臺(tái)而不會(huì)嚴(yán)重丟失顏色信息。RGB是一種相加成像系統(tǒng),由紅、綠、藍(lán)三種基色疊加,以產(chǎn)生各種需要的顏色。
HSV彩色空間是一種直觀的顏色模型,H、S、V分別代表色調(diào)、飽和度和亮度。這個(gè)顏色空間的模型對(duì)應(yīng)于圓柱坐標(biāo)系中的一個(gè)圓錐形子集,圓錐的頂面對(duì)應(yīng)于V=1。色彩H由繞V軸的旋轉(zhuǎn)角給定,范圍為0°~360°。在HSV顏色模型中,飽和度S取值0~1,所以圓錐頂面的半徑為1。
RGB空間向HSV空間的轉(zhuǎn)換公式如下:
V=maxR,G,B,
(1)
(2)
(3)
HSV空間向RGB空間的轉(zhuǎn)換公式如下:
(4)
其中:M=V1-S,N=V1-SF,K=V1-S1-F,F=6H-1。
該方法是基于由插值函數(shù)定義的對(duì)點(diǎn)的轉(zhuǎn)換,該函數(shù)在定義的區(qū)間是線性的。分段線性拉伸是將圖像灰度區(qū)間分成兩段乃至多段,對(duì)圖像中各灰度級(jí)進(jìn)行均勻壓縮或擴(kuò)展,達(dá)到效果更好的灰度范圍。本質(zhì)上就是壓縮出現(xiàn)概率較小的灰度級(jí),將出現(xiàn)概率較大的灰度級(jí)向鄰近擴(kuò)展。線性拉伸算法較為柔和,拉伸范圍合適的情況下,能有效地?cái)U(kuò)大對(duì)比度,明顯提高視覺效果,同時(shí)也保留了圖像的大量細(xì)節(jié)[9]。
(5)
該函數(shù)為用于灰度級(jí)變換時(shí)的線性差值函數(shù)。vi為插值點(diǎn),fi為亮度V經(jīng)過變換后的值。ai為分段拉伸函數(shù)的拉伸系數(shù)。
首先對(duì)最優(yōu)窗口的選擇,將亮度小于最低閾值Vmin和大于最大閾值Vmax的灰度級(jí)進(jìn)行壓縮,增大窗口的動(dòng)態(tài)范圍。閾值確定后,插值點(diǎn)的確定過程如下:在灰度級(jí)圖像中的某一范圍D屬于R2內(nèi),D→[0,255],統(tǒng)計(jì)出該區(qū)域內(nèi)所有像素的個(gè)數(shù)card(Di)。在區(qū)域D中,將每個(gè)像素的亮度與該亮度像素的個(gè)數(shù)相乘得到l(x,y)。在離散區(qū)域D中l(wèi)(x,y)求和,根據(jù)公式(10)求得插值點(diǎn)vi,即該區(qū)域中能量分布較密集點(diǎn)。插值點(diǎn)的確定,主要是根據(jù)對(duì)灰度圖像的灰度值統(tǒng)計(jì)得出。
(6)
根據(jù)公式(5),在(vi)i=1,n所對(duì)應(yīng)的(fi)i=1,n已知的情況下,可以求得系數(shù)ai,公式如下:
(7)
通過對(duì)計(jì)算量和圖像增強(qiáng)效果的綜合考慮,在閾值Vmin和Vmax之間取兩個(gè)插值點(diǎn)v2,v3,根據(jù)公式(2~6),如圖1所示,在區(qū)域(Vmin,2(Vmax-Vmin)/3)中確定插值點(diǎn)v2的值,v3的值確定與區(qū)域(1(Vmax-Vmin)/3,Vmax)中。至于變換后的最小閾值Vmin所對(duì)應(yīng)的f1,本算法中將f1拉伸到Vmin/4處,最大閾值Vmax對(duì)應(yīng)變換后的fn,拉伸到Vmax后的四分之三255-Vmax處,其結(jié)果擴(kuò)展了像素取值的動(dòng)態(tài)范圍。根據(jù)最小閾值Vmin所對(duì)應(yīng) 的f1,最大閾值Vmax對(duì)應(yīng)的變換后的fn,f1取值(fn-f1)/3,f2取值2(fn-f1)/3。
圖1 灰度級(jí)統(tǒng)計(jì)Fig.1 Gray levelstatistics
根據(jù)線性拉伸公式,結(jié)合本算法中所選用的插值點(diǎn),公式(6)變換為:
f(v)=a1v-vmin+a2v-v2+
a3v-v3+a4v-vmax.
(8)
系統(tǒng)的硬件框圖及工作流程如圖2所示,在相機(jī)控制信號(hào)的控制下,在幀有效,行有效和數(shù)據(jù)有效的前提下,一個(gè)像素時(shí)鐘FPGA接收一個(gè)有效數(shù)據(jù),經(jīng)由空間轉(zhuǎn)換模塊后,只對(duì)V進(jìn)行采集。將V作為RAM地址,不同地址中的數(shù)值表示該亮度的像素?cái)?shù),進(jìn)行直方圖統(tǒng)計(jì)。由于圖像具有實(shí)時(shí)性的特點(diǎn),在連續(xù)兩幀圖像變化不大的假設(shè)下,根據(jù)直方圖統(tǒng)計(jì)結(jié)果采用插值的線性拉伸算法對(duì)原始圖像數(shù)據(jù)進(jìn)行處理。最后將HSV空間轉(zhuǎn)換為RGB空間,在VGA控制模塊的控制下,將增強(qiáng)的彩色圖像顯示在VGA上。
相機(jī)控制模塊:FPGA內(nèi)部模塊產(chǎn)生相機(jī)控制信號(hào),如像素時(shí)鐘信號(hào)、圖像信號(hào)源數(shù)據(jù)、同步信號(hào),由于Cameralink采用LVDS信號(hào)傳輸數(shù)據(jù),F(xiàn)PGA發(fā)出的CMOS/TTL控制信號(hào)經(jīng)由Cameralink接口器件轉(zhuǎn)換成LVDS信號(hào),接收端配套器件進(jìn)行解調(diào),將4路LVDS數(shù)據(jù)流轉(zhuǎn)換為24位圖像數(shù)據(jù)和4位同步信號(hào)。同時(shí)將LVDS信號(hào)轉(zhuǎn)換成為FPGA支持的 I/O接口標(biāo)準(zhǔn)信號(hào)LVCOMS/LVTTL時(shí)鐘輸出。將28位數(shù)據(jù)信號(hào)和一位時(shí)鐘信號(hào)傳送給FPGA完成圖像采集[6,10]。同步信號(hào)主要有同步時(shí)鐘信號(hào),場同步信號(hào)(FVAL),行同步信號(hào)(LVAL),數(shù)據(jù)同步信號(hào)(DVAL)。在FVAL、LVAL和DVAL有效的狀態(tài)下,每個(gè)同步時(shí)鐘采集一個(gè)有效數(shù)據(jù)。
圖2 系統(tǒng)結(jié)構(gòu)框圖Fig.2 System block diagram
直方圖統(tǒng)計(jì)模塊:系統(tǒng)采用雙口RAM作為儲(chǔ)存器來儲(chǔ)存直方圖統(tǒng)計(jì)結(jié)果。雙口RAM的地址寬度設(shè)置為8 bit。在第一個(gè)時(shí)鐘根據(jù)Vdatain的值,讀出RAM1中相應(yīng)地址的值rdata,在第二個(gè)時(shí)鐘把接收來的灰度值作為直方圖統(tǒng)計(jì)的地址, 將讀出的值rdata加1,寫入RAM1,RAM2的該地址中。此后反復(fù)這個(gè)過程,完成一幀圖像的直方圖統(tǒng)計(jì)。系統(tǒng)中多采用一塊RAM2的原因是只對(duì)直方圖雙端口RAM進(jìn)行單端口寫操作,另一個(gè)端口留給最優(yōu)窗口確定進(jìn)行異步讀操作用,這樣做避免了對(duì)直方圖雙端口RAM的讀端口復(fù)用。在直方圖統(tǒng)計(jì)結(jié)束后,在場消隱區(qū),對(duì)雙口RAM進(jìn)行清零,為下一幀圖像的統(tǒng)計(jì)做準(zhǔn)備。由于實(shí)時(shí)圖像幀頻為30 F/s,因此可采用上一幀的直方圖統(tǒng)計(jì)結(jié)果來完成下一幀圖像的處理。
控制時(shí)鐘PLL:在一個(gè)像素時(shí)鐘要完成雙口RAM的讀,并將讀出結(jié)果加1后寫回RAM,所以將直方圖統(tǒng)計(jì)的控制時(shí)鐘設(shè)為像素時(shí)鐘的2倍,即PLL二倍頻。
設(shè)計(jì)中使用Quartus Ⅱ中SignalTap Ⅱ邏輯分析儀對(duì)圖像處理前的數(shù)據(jù)和處理后數(shù)據(jù)進(jìn)行了觀察,見圖3。Vdatain是HSV空間未經(jīng)變換的亮度值,Vchange為經(jīng)過灰度拉伸后的亮度值。在消隱區(qū)即FVAL為低時(shí),根據(jù)雙口RAM統(tǒng)計(jì)結(jié)果,求得兩個(gè)插值點(diǎn)分別為96和123。在幀有效信號(hào)為高時(shí),在每個(gè)像素時(shí)鐘內(nèi),每輸入一個(gè)像素,相應(yīng)輸出經(jīng)過變換的值。
該設(shè)計(jì)對(duì)一副大小為1 024×1 024×24 bit大小的圖像進(jìn)行了增強(qiáng)處理。圖4為航拍的原始彩色圖像,在搭建的系統(tǒng)上用本算法對(duì)彩色圖像處理后的圖像如圖5所示。航拍圖像增強(qiáng)前后所對(duì)應(yīng)的直方圖如圖6、7所示。
圖3 灰度變換仿真結(jié)果Fig.3 Simulation result of gray level transformation
圖4 原始圖像圖Fig.4 Original image
圖5 增強(qiáng)后圖像Fig.5 Enhanced image
圖6 原始RGB圖像直方圖Fig.6 Histogram of the original RGB image
圖7 增強(qiáng)后RGB圖像直方圖Fig.7 Histogram of the enhanced RGB image
觀察原始圖像的直方圖,可以發(fā)現(xiàn),灰度值比較集中,反應(yīng)到圖像中就是細(xì)節(jié)不明顯,對(duì)比度低。同時(shí)原始圖像主要的輪廓不明顯。本文方法處理后的圖像,細(xì)節(jié)信息豐富,邊緣清晰,視覺效果較好。直方圖比較均勻,灰度動(dòng)態(tài)范圍寬。該算法可以很大程度上改善圖像的清晰度。
圖8 當(dāng)n=4時(shí)的插值函數(shù)圖像Fig.8 Graphic of interpolation function for n=4
圖8中為各個(gè)灰度級(jí)經(jīng)過拉伸后的圖像,x軸為灰度級(jí)vi(0,255),y軸為經(jīng)過變換后的fi,分段拉伸效果的好壞,很大程度上取決于分段區(qū)間。本文中Vmin取值0,Vmax取200,兩個(gè)插值點(diǎn)根據(jù)公式(6)求得分別為96和123。
[11]的直方圖均衡算法以及文獻(xiàn)[12]的平臺(tái)直方圖均衡化算法,圖9給出了采用3種不同算法增強(qiáng)后的圖像及其對(duì)應(yīng)的直方圖。
通過直方圖均衡化后的圖像[11],灰度值較小區(qū)域更暗,不能顯現(xiàn)出陰暗區(qū)域的細(xì)節(jié)信息,且灰度值較大區(qū)域更亮,失去原有紋理信息。平臺(tái)直方圖均衡化[12]后的圖像較直方圖均衡化圖像相比,圖像效果有了明顯改進(jìn)。但是該算法增強(qiáng)后灰度值較小處的像素值比較多,也就造成了圖像的整體效果偏暗,不能明顯顯現(xiàn)圖像細(xì)節(jié)信息。而本文增強(qiáng)算法將圖像的亮度調(diào)節(jié)得非常均勻,可以較為明顯看出整幅圖像的細(xì)節(jié)信息,視覺效果很好。
針對(duì)航拍模糊圖像,本文采用灰度平均梯度值來判斷增強(qiáng)算法的效果和有效性?;叶绕骄荻戎凳欠謩e將圖像長度和寬度方向上的相鄰像素灰度值做差后求平方和再求均方根值,它能較好地反映圖像的對(duì)比度和紋理變化特征,其值越大表示圖像越清晰,圖像質(zhì)量越好。公式為:
(9)
表1給出了3種算法的性能評(píng)價(jià),可以看出,基于插值的線性拉伸算法與直方圖均衡化和平臺(tái)直方圖均衡化算法相比,處理速度更快,更能夠滿足實(shí)時(shí)性需求。增強(qiáng)后的圖像更清晰,輪廓以及細(xì)節(jié)信息更明顯。
表1 三種算法性能比較
對(duì)于圖像的增強(qiáng),本文提出了一種基于插值的線性拉伸算法,根據(jù)插值函數(shù)對(duì)每個(gè)像素點(diǎn)進(jìn)行灰度變換。其在增強(qiáng)圖像對(duì)比度的同時(shí)也會(huì)很好地保留圖像細(xì)節(jié),經(jīng)過該算法增強(qiáng)后圖像的灰度平均梯度值為直方圖均衡化算法的1.95倍。本文方法處理后的圖像,細(xì)節(jié)豐富,灰度動(dòng)態(tài)范圍寬,該算法很大程度上改善圖像了的清晰度和視覺質(zhì)量。對(duì)于實(shí)時(shí)的彩色圖像增強(qiáng)處理具有數(shù)據(jù)量大、傳輸速度快的特點(diǎn),用FPGA作為整個(gè)算法的中央處理器,通過相應(yīng)的圖像處理模塊,完成彩色圖像空間和灰度空間的相互轉(zhuǎn)換以及灰度圖像的實(shí)時(shí)增強(qiáng)算法,并利用軟件實(shí)現(xiàn)直方圖統(tǒng)計(jì)和拉伸算法的并行執(zhí)行,與直方圖變換等傳統(tǒng)圖像增強(qiáng)算法相比,該算法計(jì)算時(shí)間縮短了0.807 ms。該系統(tǒng)具有集成度高、圖像處理速度快和實(shí)時(shí)性強(qiáng)等特點(diǎn)。結(jié)果表明, 該算法的實(shí)現(xiàn)具有實(shí)時(shí)性,能夠達(dá)到預(yù)期目標(biāo), 基本可以實(shí)現(xiàn)工程應(yīng)用。
參考文獻(xiàn):
[1] 賈宏光,吳澤鵬.基于廣義線性運(yùn)算和雙邊濾波的紅外圖像增強(qiáng)[J].光學(xué) 精密工程,2013,12(21):3272-3282.
Jia H G, Wu Z P.Infrared image enhancement based on generalized linear operation and bilateral filter [J].Opt.PrecisionEng.,2013,12(21):3272-3282.(in Chinese)
[2] 韓希珍.結(jié)合偏微分方程增強(qiáng)圖像紋理及對(duì)比度[J].光學(xué) 精密工程,2012, 20(6): 1382-1388.
Han X Z. Enhancement of image texture and contrast combined with partial differential equation [J].Opt.PrecisionEng., 2012,20(6) : 1382-1388.(in Chinese)
[3] 劉欽堂. 基于Retinex算法的彩色圖像增強(qiáng)研究[D]. 哈爾濱:哈爾濱工程大學(xué),2012.
Liu X T.Research of the color image enhancement based on Retinex algorithms [D]. Harbin: Harbin Engineering University,2012.(in Chinese)
[4] 武治國, 王延杰. 一種基于直方圖非線性變換的圖像對(duì)比度增強(qiáng)方法[J].光子學(xué)報(bào),2010,39(4):755-758.
Wu Z G, Wang Y J. An image enhancement algorithm based on histogram nonlinear transform [J] .ActaPhotonicaSinica, 2010, 39(4) : 755 -758.(in Chinese)
[5] 龐玉林,劉珊珊. 基于硬件實(shí)現(xiàn)具有范圍判斷功能的動(dòng)態(tài)線性拉伸算法[J].科學(xué)技術(shù)與工程,2010,10(16):3878-3882.
Pang Y L,Liu S S. Dynamic linear extension algorithm based on hardware realization [J].ScienceTechnologyandEngineering, 2010,10(16):3878-3882.(in Chinese)
[6] 何浩.基于DSP和FPGA的圖像處理平臺(tái)的研究和實(shí)現(xiàn)[D]. 南京:南京航空航天大學(xué),2011.
He H.Research and implementation of digital image processing card based on DSP and FPGA[D]. Nanjing :Nanjing University of Aeronautics and Astronautics,2011.(in Chinese)
[7] 于云翔, 張麟瑞. 實(shí)時(shí)圖像增強(qiáng)算法改進(jìn)及FPGA實(shí)現(xiàn)[J].計(jì)算機(jī)仿真,2009,26(2):240-242.
Yu Y X, Zhang L R. An improved real- time enhancement algorithm and its realization with FPGA [J].ComputerSimulation, 2009,26(2):240-242.(in Chinese)
[8] 劉春香,郭永飛.星上多通道遙感圖像的實(shí)時(shí)合成壓縮[J].光學(xué) 精密工程,2013,2(21):445-453.
Liu C X, Guo Y F. Composition and compression of satellite multi-channel remote sensing images [J].Opt.PrecisionEng.,2013,2(21):445-453.(in Chinese)
[9] 牛英宇. 圖像自適應(yīng)分段線性拉伸算法的FPGA設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,10:78-80.
Niu Y Y. Implementation of adaptive-piecewise linear stretching algorithm based on FPGA [J].ModernElectronicsTechnique,2010,10:78-80.(in Chinese)
[10] 吳家偉,武春風(fēng).紅外圖像實(shí)時(shí)顯示增強(qiáng)系統(tǒng)設(shè)計(jì)[J].光學(xué) 精密工程,2009,17(10):2612-2619.
Wu J W, Wu C F. Design of real time infrared image enhancing system [J].Opt.PrecisionEng.,2009,17(10):2612-2619.(in Chinese)
[11] 胡元?jiǎng)? 直方圖均衡增強(qiáng)算法在實(shí)時(shí)圖像處理中的實(shí)現(xiàn)[J].液晶與顯示,2009,27(2):907-909.
Hu Y G. Implemention of histogram equalization enhancement algorithms in rea-l time image processing [J].ChineseJournalofLiquidCrystalsandDisplays,2009,27(2):907-909.(in Chinese)
[12] 王炳健,劉上乾.基于平臺(tái)直方圖的紅外圖像自適應(yīng)增強(qiáng)算法[J].光子學(xué)報(bào),2005,32(2):299-301.
Wang B J, Liu S Q. Self-adaptive contrast enhancement algorithm for infrared images based on plateau histogram[J].ActaPhotonicaSinica, 2005,32(2):299-301.(in Chinese)