張雄輝,鄭力新,周凱汀
(華僑大學(xué) 信息科學(xué)與工程學(xué)院,福建 廈門361021)
目前計(jì)算機(jī)技術(shù)已經(jīng)發(fā)展到了一定的水平,伴隨其產(chǎn)生的數(shù)字圖像處理技術(shù)的應(yīng)用也越來(lái)越廣泛,如航空和航天技術(shù)、生物醫(yī)學(xué)工程、通信工程、工業(yè)和工程、軍事公安以及文化藝術(shù)等方面。在工業(yè)和工程中的數(shù)字、智能化生產(chǎn)中,對(duì)數(shù)字圖像的質(zhì)量要求越來(lái)越高,有些直接用攝像頭、照相機(jī)采集到的圖像數(shù)據(jù)并不能直接使用,其中最常見(jiàn)的一種處理步驟就是要對(duì)已采集到的數(shù)字圖像進(jìn)行放大、提高其分辨率的處理。圖像插值技術(shù)就是運(yùn)用軟件技術(shù)來(lái)提高圖像分辨率的有效方法,其相對(duì)于一些硬件技術(shù)具有更節(jié)約、更有發(fā)展前景等優(yōu)勢(shì)。
自20世紀(jì)60年代提出數(shù)字圖像插值技術(shù)之后,已出現(xiàn)了很多種插值技術(shù),如最近鄰插值算法、雙線性插值算法和雙立方插值算法等[2-4]。其中,最近鄰插值算法是最簡(jiǎn)單的一種插值算法,它也稱作零階插值,它所求的插值點(diǎn)灰度值就等于其映射到的位置最近像素點(diǎn)的灰度值,但是其插值后圖像常常帶有鋸齒形的邊。雙線性插值算法也稱作一階插值算法,其插值點(diǎn)的像素值是計(jì)算它附近的2×2區(qū)域的4個(gè)鄰近像素值的加權(quán)平均而得來(lái)的。相對(duì)于最近鄰插值,雙線性插值可以很好地抑制鋸齒的出現(xiàn),它可以得到一個(gè)具有連續(xù)性和連通性的光滑映射,但是圖像也會(huì)因此變得模糊。雙立方插值可以改進(jìn)圖像模糊這一點(diǎn),但是其運(yùn)算量大,得不到實(shí)時(shí)應(yīng)用。根據(jù)以上各算法的優(yōu)缺點(diǎn),本文提出了一種較快速的簡(jiǎn)單插值算法,試驗(yàn)證明,該算法既可以抑制邊緣鋸齒,又可以提高圖像的質(zhì)量。
本文先通過(guò)較快速、簡(jiǎn)便的算法找出圖像的大概邊緣程度,再根據(jù)此邊緣程度信息來(lái)劃分區(qū)域后作插值算法。在插值過(guò)程中采用兩步來(lái)插值,即先對(duì)行列之和為偶數(shù)的點(diǎn)進(jìn)行插值,再對(duì)行列之和為奇數(shù)的點(diǎn)進(jìn)行插值。對(duì)于兩步中的不同類插值點(diǎn)分別采用不同的方法來(lái)進(jìn)行插值。
由于一般圖像除了少數(shù)地方存在菱角外,其他大部分都是緩慢變化的區(qū)域,因此可以對(duì)待插值的圖像先進(jìn)行區(qū)域的劃分,在此基礎(chǔ)上插值后的圖像就能抑制鋸齒邊緣的現(xiàn)象。本文采用Sobel算子和類Sobel算子來(lái)檢測(cè)圖像的邊界程度,對(duì)于豎直和水平方向的邊界程度可以直接用Sobel算子來(lái)檢測(cè),如式(1)所示;對(duì)于45°和135°方向的邊界程度就用類似于Sobel算子檢測(cè)[1],如式(2)所示。
根據(jù)檢測(cè)到的邊界程度將圖像進(jìn)行區(qū)域劃分[5],相同的區(qū)域其灰度差異很小,在插值的時(shí)候根據(jù)這一特點(diǎn)進(jìn)行插值就可以得到比較好的效果。通過(guò)算子檢測(cè)后的邊緣程度來(lái)劃分圖像區(qū)域情況有圖1所示的幾種情況:A與B、C在豎直方向?yàn)檫吔?;B與C在水平方向?yàn)檫吔纾籇與E在有一斜邊界。劃分后再進(jìn)行插值后的圖像如圖2所示。
圖1 待插值圖像
圖2 插值后的圖像
首先對(duì)行列和為偶數(shù)的點(diǎn)進(jìn)行插值,如圖2中的I1、I2、I3、I4和I5這一類的點(diǎn),其周圍四角為原圖像的像素點(diǎn)。然后對(duì)行列之和為奇數(shù)的點(diǎn)進(jìn)行插值,如圖2中J1、J2、J3類的點(diǎn),其在水平或者豎直方向相鄰的像素點(diǎn)屬于原圖像。
對(duì)于I1這一類的插值點(diǎn),其周圍4個(gè)原圖像的像素點(diǎn)都屬于同一區(qū)域A,設(shè)這4個(gè)原像素點(diǎn)的灰度值分別為f(A1)、f(A2)、f(A3)和f(A4),則可以定義插值點(diǎn)I1的灰度值為:
式(3)就是根據(jù)同一區(qū)域像素點(diǎn)灰度值相差不大的特性來(lái)取周圍點(diǎn)灰度值的平均值為插值點(diǎn)的灰度值,其方法等同于雙線性插值方法。
對(duì)于I2和I3這類的插值點(diǎn),其周圍4個(gè)原圖像像素點(diǎn)屬于不同的區(qū)域,其中I2是屬于兩個(gè)豎直區(qū)域之間的插值點(diǎn),I3是屬于兩個(gè)水平的區(qū)域之間的插值點(diǎn)。為了使圖像邊緣平滑,可以采用方向加權(quán)平均法的線性插值方法。設(shè)周圍4個(gè)原圖像的像素點(diǎn)灰度值分別為f(B1)、f(B2)、f(C1)和f(C2),則插值點(diǎn)的灰度值為:
對(duì)于I4和I5這樣的插值點(diǎn),此類插值點(diǎn)位于斜對(duì)角的區(qū)域邊緣上。其周圍的4個(gè)原圖像的像素點(diǎn)中有3個(gè)屬于同一區(qū)域,另外1個(gè)點(diǎn)屬于另一區(qū)域。如圖2中的插值點(diǎn)I4和I5在45°對(duì)角線上,其在45°方向灰度值的變化遠(yuǎn)沒(méi)有在135°方向的變化大,則可以直接忽略在135°方向變化影響。所以對(duì)于此類插值點(diǎn)的灰度值可以定義為:
式(5)可以直接認(rèn)為是一階線性插值,其著重考慮對(duì)插值點(diǎn)相關(guān)性大的點(diǎn)的作用,而忽略那些不重要的點(diǎn)的灰度值。對(duì)于135°方向上的插值點(diǎn)也可以等同于45°方向插值點(diǎn)的算法。
對(duì)于行列之和為奇數(shù)的像素點(diǎn)插值,如圖2中的J1、J2、J3類的點(diǎn),其在水平或者豎直方向相鄰的點(diǎn)中有兩個(gè)點(diǎn)是原圖像的像素點(diǎn),而對(duì)應(yīng)的豎直或水平方向相鄰的兩個(gè)點(diǎn)為以上插值完成后的I類插值點(diǎn)。對(duì)于J1和J3類插值點(diǎn),其相鄰的兩個(gè)原圖像像素點(diǎn)都屬于同一區(qū)域,則可以直接用一階線性插值定義:
如J2一類的插值點(diǎn),其相鄰的兩個(gè)原圖像的像素點(diǎn)屬于不同一區(qū)域C和B,則可以把已經(jīng)插值好的點(diǎn)I2和I3也作為影響系數(shù)。由于其相鄰的4個(gè)點(diǎn)可能都在不同區(qū)域,且灰度值相差很大,本文直接用4個(gè)點(diǎn)中最大灰度值減去最小灰度值,再除以另外兩點(diǎn)灰度值之和,得到的值作為一個(gè)閾值i。如果i>1,則說(shuō)明插值點(diǎn)的灰度值受最大灰度值點(diǎn)的影響較小;如果i<1,則說(shuō)明其受最小灰度值點(diǎn)的影響較小,比較后作線性插值。計(jì)算式為:
在實(shí)驗(yàn)中,用支持本文的項(xiàng)目“數(shù)控切割、沖孔系統(tǒng)的設(shè)計(jì)”中要用到的印花灰度圖像為測(cè)試圖像,使用的原圖像大小為137×154,放大2×2倍。用Visual Studio 2010環(huán)境編寫算法,分別用最近鄰法和雙線性法與本文算法的結(jié)果作對(duì)比,效果如圖3所示。
從圖3可以看出,最近鄰插值法放大處理后的圖像在邊緣出現(xiàn)了明顯的鋸齒;雙線性插值法處理圖像雖然沒(méi)有鋸齒,但是變得模糊不清了;而用本文方法處理后的圖像很好地抑制了邊緣鋸齒現(xiàn)象,同時(shí),也沒(méi)有過(guò)于模糊的現(xiàn)象,在算法復(fù)雜度上也沒(méi)有雙立方插值那樣麻煩,是一種較方便快速的插值方法。
圖3 實(shí)驗(yàn)結(jié)果
本文根據(jù)傳統(tǒng)算法的各自優(yōu)缺點(diǎn)提出一種適合的、綜合的快速插值方法,該算法在計(jì)算量上近似于雙線性插值,用分區(qū)插值來(lái)抑制邊界鋸齒現(xiàn)象的產(chǎn)生,根據(jù)各區(qū)域像素相關(guān)性插值來(lái)抑制模糊的效果的產(chǎn)生,實(shí)現(xiàn)簡(jiǎn)單,較適合實(shí)際的應(yīng)用。
[1]BOVIK A.Handbook of image and video processing(2en ed)[M].Beijing∶Publishing House of Electronics Industry,2006.
[2]AKYAMA M T.Clustering approach algorithm for image interpolation[R].Proceedings of the 27th Annual ACM Symposium on Applied Computing,2012.
[3]符祥,郭寶龍.圖像插值技術(shù)綜述[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(1):128-144.
[4]黨向盈.基于傳統(tǒng)插值的最佳插值算法分析[J].黑龍江科技信息,2008,11(31)∶4.
[5]STORN R,PRICE K.Minamizing the real functions of the ICEC’96 contest by differential evolution[C].Proceedings of IEEE International Conference on Evolutionary Computation,Nagoya,1996∶842-844.