當(dāng)今主流數(shù)字圖像縮放技術(shù)的算法_第1頁
當(dāng)今主流數(shù)字圖像縮放技術(shù)的算法_第2頁
當(dāng)今主流數(shù)字圖像縮放技術(shù)的算法_第3頁
當(dāng)今主流數(shù)字圖像縮放技術(shù)的算法_第4頁
當(dāng)今主流數(shù)字圖像縮放技術(shù)的算法_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、當(dāng)今主流數(shù)字圖像縮放技術(shù)的算法轉(zhuǎn)自:第四章當(dāng)今主流數(shù)字圖像縮放技術(shù)的算法4.1基于近臨插值與鄰域取平均的圖像縮小算法4.1.1問題引入傳統(tǒng)的圖像縮放算法中,有的有的失真較小但是算法復(fù)雜,如雙三次插值;有的運(yùn)算量小但得到的圖像失真較大,如最近鄰插值和雙線性插值。在對圖像進(jìn)行縮小的時(shí)候存在著圖像信息的損失,而且縮小的比例越大,損失越大,從而導(dǎo)致圖像的失真較大,最主要的是在對圖像進(jìn)行縮小的時(shí)候顯然會出現(xiàn)原圖像的多個(gè)像素對應(yīng)同一個(gè)像素點(diǎn)從而會產(chǎn)生像素躍越現(xiàn)象。如何合適的選取目的圖像的像素值是圖像縮小的最關(guān)鍵的問題。我們可以通過反向變換法來實(shí)現(xiàn)。反向變換法從目的圖像出發(fā),對于一個(gè)目的像素,通過縮放變換的

2、逆變換,找到這個(gè)目的像素的原坐標(biāo)點(diǎn)。但是,存在這樣一個(gè)問題,即將目的像素的整數(shù)坐標(biāo)通過反向變換后將得到浮點(diǎn)坐標(biāo)。通常對于一個(gè)浮點(diǎn)坐標(biāo),其對應(yīng)的點(diǎn)的周圍將有最鄰近的四個(gè)或八個(gè)像素。取哪一個(gè)像點(diǎn)的像素值來作為這個(gè)目的像素的值呢?從實(shí)質(zhì)上來講,就是怎樣通過鄰近的像素值來計(jì)算出一個(gè)新的像素值,這個(gè)新值就是目的像素的值。傳統(tǒng)三種算法在進(jìn)行縮小時(shí)候,圖像縮小的比例越大,像素躍越現(xiàn)象越明顯,顯然會產(chǎn)生高頻干擾。因此要使得圖像不失真必須采用低通濾波的方式將這些高頻干擾去除。實(shí)際上我們處理的時(shí)候是將做反變換和濾波同時(shí)進(jìn)行,這樣做的效果更好于是我們運(yùn)算量與運(yùn)算結(jié)果上都做了考慮得到此種兼顧運(yùn)算速度與運(yùn)算質(zhì)量的圖像縮

3、小算法。4.1.2算法實(shí)現(xiàn)設(shè)原圖像的坐標(biāo)為,該點(diǎn)的像素值為,目標(biāo)圖像的坐標(biāo)為(x,y),該點(diǎn)的像素值為。縮小的比例為k,k在(0,1)區(qū)間取值。則通過反變得到的一個(gè)浮點(diǎn)坐標(biāo)為(x/k,y/k),對該坐標(biāo)取整得到一個(gè)整數(shù)坐標(biāo)。這種取得原圖像坐標(biāo)方法實(shí)際和近鄰取樣法完全相同。但是我們不直接利用該點(diǎn)的像素值,而是取該點(diǎn)的周圍的某些點(diǎn)的平均值來作為目標(biāo)點(diǎn)的像素值。這樣做實(shí)際上就是一個(gè)低通濾波的過程。我們就稱這種算法為近鄰取樣和鄰域平均相結(jié)合的算法。鄰域平均算法為:令被討論像素的像素值為,以其為中心,窗口像素組成的點(diǎn)集以A表示,集內(nèi)像素個(gè)數(shù)以L表示。經(jīng)鄰域平均濾波后,像素對應(yīng)的輸出為:,用窗口像素的平均

4、值代替原來的像素值。鄰域的選取通常有兩種方式:以單位距離為半徑,為一菱形窗口或單位距離的倍為半徑,為一矩形窗口,在本文中我們采取了菱形窗口。具體編程的時(shí)候我們使用了如下模板(以距離為5個(gè)像素為例)。模板取法如圖4.1所示:圖4.1鄰域平均55模板實(shí)際該模板為一個(gè)55的矩陣,使用步驟為:(1)將模板中心和通過近鄰取樣法得到的像素點(diǎn)位置重合;(2)將模板上系數(shù)與模板下對應(yīng)像素值相乘;(3)將所有的乘積相加;(4)將和除以模板各系數(shù)之和得到目的圖像對應(yīng)點(diǎn)像素值。在有些情況下,我們還可以使用權(quán)值不相同的模板。如我們認(rèn)為距離中心像素遠(yuǎn)的點(diǎn)對目的像素的影響小,我們就可以將他們的權(quán)值設(shè)小一些,相反距離中心像

5、素近的點(diǎn)對目的像素的影響大,就可以將他們的權(quán)值設(shè)大一些。下面是一個(gè)權(quán)值和距離成反比的55模板:總的算法流程為:(1)讀入原圖像,得到圖像的高度和寬度;(2)通過縮放比例得到目的圖像的高度和寬度,建立空白目的圖像;(3)從上到下,從左往右的順序掃描目的圖像;(4)掃描過程中對每一個(gè)目的圖像的坐標(biāo),利用近鄰法取樣法在原圖像中找到模板中心位置;(5)利用設(shè)定的模板進(jìn)行鄰域平均得到目的圖像掃描點(diǎn)的像素值,如果模板覆蓋在原圖像的邊界,要進(jìn)行邊界處理;(6)掃描完成,圖像的縮小處理也就完成了。圖4.2權(quán)值和距離成反比的55模板4.1.3算法評價(jià)本文討論的近鄰取樣和鄰域平均相結(jié)合的方法對圖像進(jìn)行縮小處理,具

6、有算法簡單,失真較小的特點(diǎn)。尤其在處理細(xì)節(jié)單調(diào),背景和物體之間區(qū)別明顯的圖像,而且縮小比例較大的時(shí)候,處理效果較好,比較適合處理人的頭像。但是在處理輪廓很細(xì)的圖像的時(shí)候,輪廓的顏色失真較大,這方面有待于進(jìn)一步提高。4.2基于Ferguson曲面插值的圖像縮放方法4.2.1問題引入在傳統(tǒng)的插值方法中,鄰近點(diǎn)插值不能保證插值曲面連續(xù),插值后圖像會出現(xiàn)塊狀化(Jaggies)現(xiàn)象,圖像視覺效果不佳,因而在實(shí)際的應(yīng)用極少采用;雙線性插值只能達(dá)到連續(xù),在插值處只能保證灰度值連續(xù),不能保證導(dǎo)數(shù)值連續(xù),因此,在某些要求較高的場合仍不能滿足要求。B樣條插值方法可以達(dá)到連續(xù),在插值處可以保證灰度值和直到二階導(dǎo)數(shù)

7、值連續(xù),因而對一些細(xì)節(jié)豐富的圖像應(yīng)用雙三次樣條插值可以得到更好的視覺效果.但由于需要求解線性方程組,其計(jì)算時(shí)間較長,尤其是在放大倍數(shù)很大時(shí),尤為明顯.本文將計(jì)算機(jī)圖形學(xué)中的Ferguson曲面插值應(yīng)用于圖像縮放中,提出了一種基于Ferguson雙三次曲面插值的圖像縮放算法.這種方法介于雙線性插值和雙三次樣條插值方法之間,是一種插值方法,插值處灰度值和導(dǎo)數(shù)都連續(xù),細(xì)節(jié)表現(xiàn)清楚,因此,從理論上講該法優(yōu)于鄰近點(diǎn)插值方法和雙線性插值方法.由于它是一種局部插值方法,不需要求解線性方程組,因而計(jì)算速度比雙三次樣條插值要快得多.4.2.2算法實(shí)現(xiàn)1.Ferguson雙三次曲面給定雙三次參數(shù)曲面4個(gè)角點(diǎn)處的幾

8、何信息:位置矢量(i,j=0,1),沿向的切矢,以及四個(gè)角點(diǎn)處的扭矢,則滿足以上幾何條件的雙三次曲面可表示為:(4.1)其中:,由公式(4.1)定義的曲面稱為Coons雙三次曲面.在實(shí)際計(jì)算時(shí),4個(gè)角點(diǎn)處扭矢不容易確定.如果令上述公式中4個(gè)扭矢為零,即令此時(shí)由公式(4.1)定義的曲面就稱為Ferguson雙三次曲面.2.Ferguson雙三次曲面插值對于給定的原始圖像,在本文的算法中,插值曲面由M*N張F(tuán)erguson雙三次曲面片組成。(4.2)其中,的含義同上。(4.3)整張插值曲面按如下方式定義:當(dāng)時(shí)令(4.4)在矩陣(4.3)中,左上角代表像素的灰度值,均已知。左下角代表在4個(gè)角點(diǎn)處灰度

9、值關(guān)于參數(shù)的變化率,右上角代表在4個(gè)角點(diǎn)處灰度值關(guān)于參數(shù)的變化率,用向后數(shù)值微分來估計(jì)這些值,即令(4.5)(4.6)至此,就得到了連續(xù)的插值曲面。對其進(jìn)行重采樣,即可得到任意大小的圖像。根據(jù)上述構(gòu)造過程,顯然插值曲面具有連續(xù)性.而且,在構(gòu)造的過程中,不需要解方程組,因此,計(jì)算速度很快。3.基于Ferguson曲面插值的圖像縮放方法偽代碼實(shí)現(xiàn)輸入:原始圖像FOR()/(s,t)為像素對應(yīng)的全局參數(shù)I=FLOOR(s);J=FLOOR(t);/FLOOR代表向下取整的函數(shù)u=(s-i);w=(t-j);/(u,w)為像素對應(yīng)的局部參數(shù)根據(jù)公式(3.2),公式(3.3),公式(3.5),公式(3.

10、6)計(jì)算令輸出:縮放后的圖像4.2.3算法評價(jià)Ferguson插值和三次樣條插值得到的圖像視覺上相差很小,質(zhì)量都比較好,所生成的圖像連續(xù)性好,細(xì)節(jié)清楚,有效地消除了方塊效應(yīng).相比較而言,本文提出的方法計(jì)算速度要比三次樣條插值法快得多,因而更加實(shí)用.由于該方法可以達(dá)到連續(xù),因此,圖像的效果比常用的鄰近點(diǎn)插值法和雙線性插值方法要好.由于采用局部插值方法,不需要求解線性方程組,所以和雙三次樣條插值方法相比,該算法計(jì)算速度有很大提高.綜上所述,這是一種非常實(shí)用的圖像縮放算法.4.3帶系數(shù)自適應(yīng)插值算法及其改進(jìn)114.3.1問題引出在傳統(tǒng)的圖像插值算法中,雙線性插值與最鄰近法相比,由于考慮了待采樣點(diǎn)周圍

11、四個(gè)直接鄰點(diǎn)對待采樣點(diǎn)的影響,因此基本克服了前者灰度不連續(xù)的缺點(diǎn),但其代價(jià)是計(jì)算量有所增大。但進(jìn)一步看,由于此方法僅考慮四個(gè)直接鄰點(diǎn)灰度值的影響,而未考慮到各鄰點(diǎn)間灰度值變化率的影響,因此具有低通濾波器的性質(zhì),使縮放后圖像的高頻分量受到損失,圖像的輪廓變得較模糊。用此方法縮放后的圖像與原圖像相比,仍然存在由于計(jì)算模型考慮不周而產(chǎn)生的圖像質(zhì)量退化與精度降低的問題。作為對雙線性內(nèi)插法的改進(jìn),即不僅考慮到四個(gè)直接鄰點(diǎn)灰度值的影響,還考慮到各鄰點(diǎn)間灰度值變化率的影響,立方卷積法利用了待采樣點(diǎn)周圍更大鄰域內(nèi)像素的灰度值作三次插值。因此單從圖象處理質(zhì)量上考慮,雙三次插值是優(yōu)于其他兩種基本算法的,我們還可以

12、從三次放插值的算法實(shí)現(xiàn)上仔細(xì)做數(shù)學(xué)上的推導(dǎo)變可以得出一個(gè)規(guī)律,從而實(shí)現(xiàn)基本算法的最佳插值方法。4.3.2數(shù)學(xué)推導(dǎo)與算法實(shí)現(xiàn)1.數(shù)學(xué)推導(dǎo)雙三次插值算法的插值核函數(shù)為:(4.7)插值后的像素灰度計(jì)算公式為:(4.8)上式中:我們分析式(4.7)和式(4.8)可以發(fā)現(xiàn):(4.9)令,則,。若令k=0,則式(3.8)的立方卷積法就退化為雙線性內(nèi)插法。因此,可以把用三次多項(xiàng)式插值的立方卷積法看成由兩部分組成。其中代表直接鄰點(diǎn)的灰度值對待采樣點(diǎn)的影響,而k則代表鄰點(diǎn)間灰度值的變化率對待采樣點(diǎn)的影響。與雙線性內(nèi)插法相比,立方卷積法不僅考慮了直接鄰點(diǎn)的灰度值對待采樣點(diǎn)的影響,還考慮了鄰點(diǎn)間灰度值變化率的影響,

13、因此后者所求得的待采樣點(diǎn)灰度值更接近原(采樣)值。此方法用進(jìn)一步增大計(jì)算量來換取待采樣點(diǎn)精度的進(jìn)一步提高,但這種方法中的兩個(gè)部分(即與k)的搭配是否最佳,值得進(jìn)一步研究。2.算法實(shí)現(xiàn)從圖(4.3)可以看出在求待采樣點(diǎn)的插值時(shí),最近鄰點(diǎn)法只考慮直接鄰點(diǎn)中距離最近點(diǎn)的影響,其權(quán)值為1;雙線性內(nèi)插法考慮了所有直接鄰點(diǎn)的影響,各點(diǎn)權(quán)值由距待采樣點(diǎn)的距離決定,距離近的權(quán)值大,距離遠(yuǎn)的權(quán)值小;而立方卷積法不僅考慮了所有直接鄰點(diǎn)的影響,還考慮了所有間接鄰點(diǎn)的影響,各點(diǎn)權(quán)值也由距待采樣點(diǎn)的距離決定。通過分析上述幾種插值算法可以看到,直接鄰點(diǎn)對待采樣點(diǎn)的影響是最大的,也是最主要的。同時(shí)從對立方卷積法的分析中可以

14、看到,間接鄰點(diǎn)通過影響直接鄰點(diǎn)的灰度值而影響待采樣點(diǎn)的灰度值,這一關(guān)系反映在鄰點(diǎn)間灰度值的變化率上,因此也是最佳插值算法中必須考慮的因素。在式(3.9)中代表直接鄰點(diǎn)的灰度值對待采樣點(diǎn)的影響,而k則代表鄰點(diǎn)間灰度值的變化率對待采樣點(diǎn)的影響。前面幾種方法對這兩種影響的大小都沒有進(jìn)行優(yōu)化,因此適當(dāng)調(diào)整兩種影響的大小.可以找到一種最佳的插值算法,可以對式(3.9)進(jìn)行修正。令修正值0,1,將式(4.9)改寫為:(4.10)圖(4.3)幾種插值法的比較當(dāng)=0時(shí),式(4.10)代表的是雙線性內(nèi)插法;當(dāng)=1時(shí),式(4.10)代表的是雙三次插值法。越大鄰點(diǎn)間灰度值變化率的影響權(quán)值就越大;越小,直接鄰點(diǎn)灰度值

15、的影響權(quán)值就越大。經(jīng)過計(jì)算與統(tǒng)計(jì)分析可以發(fā)現(xiàn),當(dāng)取01之間的值時(shí),內(nèi)插效果優(yōu)于立方卷積法,這說明立方卷積法中鄰點(diǎn)間灰度值變化率的權(quán)值過高,即應(yīng)取小于1的某個(gè)值。對于不同的圖像,最佳的取值不同。如圖(4.3)所示,對不同的圖像在立方卷積法和雙線性內(nèi)插法的權(quán)值曲線間還有一個(gè)最佳的內(nèi)插曲線,用該曲線求出的權(quán)值來處理圖像效果比前兩者都好。3.改進(jìn)算法由上面敘述可以知道,根據(jù)被處理圖像各像素點(diǎn)之間的灰度變化率適當(dāng)調(diào)整系數(shù),可以對圖像達(dá)到最佳的插值效果。但是,這種算法的缺點(diǎn)有兩個(gè):首先,這個(gè)是需要有人的互動在里面,系統(tǒng)不可能自己根據(jù)像素灰度的變化率做一個(gè)系數(shù)的自動調(diào)整;其次,對于特殊圖像比如有的部分像素灰

16、度值變化快,有的變化慢,則該算法不可能做到兼顧全局。因此我們迫切的需要一個(gè)可以根據(jù)像素灰度值變化率自己做系數(shù)調(diào)整的改進(jìn)算法。該算法實(shí)現(xiàn)方式如下:(1)設(shè)置一個(gè)像素灰度值變化臨界值d;(該值一般在0.04-0.05之間)(2)假設(shè)第點(diǎn)處的像素的灰度值為,假設(shè)圖像的讀取與存貯是從圖像的最上端從左至右按行依次進(jìn)行的所以下一個(gè)像素點(diǎn)為,其像素灰度值為。這兩個(gè)點(diǎn)的灰度差值為,則;(3)如果,明這兩個(gè)點(diǎn)的像素的顏色變化不大,此時(shí)采用最近鄰插值;如果,說明這兩個(gè)點(diǎn)的像素的顏色變化較大,此時(shí)采用雙三次插值算法,用這種圖像插值算法,既保證了圖像變化后的質(zhì)量,又提高了運(yùn)算速度。4.4基于數(shù)字圖像邊緣提取的插值算法

17、4.4.1問題引入傳統(tǒng)的圖像插值酸法有著速度快的優(yōu)點(diǎn),但是在放大效果方面各有不足。最近鄰插值法只是簡單地將源像素點(diǎn)最鄰近的像素點(diǎn)(最鄰近取樣)進(jìn)行復(fù)制,其結(jié)果是會產(chǎn)生像素塊(即馬賽克),使得圖像整體不清楚。而雙線性插值法則利用了源像素點(diǎn)周圍鄰近的4個(gè)像素點(diǎn)的線性平均權(quán)值來計(jì)算目標(biāo)像素點(diǎn)的值,這樣雖然可以得到較好的整體效果,但圖像的邊緣會變得模糊,細(xì)節(jié)部分不夠清晰,雙三次插值也存在這樣的問題。因此我們在考慮圖像邊緣的情況下,引入了一種定向插值的插值算法。4.4.2圖像定向插值的一般實(shí)現(xiàn)方法定向插值放大與一般插值放大的最大不同之處在于其插值過程是沿著圖像的邊緣而不是跨過邊緣插值進(jìn)行的,因此定向插值

18、要求先找到圖像的邊緣,或者更進(jìn)一步地要先確定圖像中灰度值梯度變化處每一個(gè)像素點(diǎn)的方向。在得到了圖像的邊緣后,我們就可以選擇個(gè)合適的插值算法進(jìn)行插值放大。需要注意的是這里所用的插值算法必須是線性的而不能是雙線性的因?yàn)槿绻儆秒p線性插值就會破壞我們前一步所查找到的圖像邊緣信息。圖4.4 sobel矩陣Sobel矩陣是最常用的查找圖像邊緣矩陣。單個(gè)的Sobel矩陣可以檢測水平和垂直方向的邊緣,兩個(gè)Sobel矩陣合在一起就可以得到全面的圖像邊緣信息。雖然Sobel矩陣有較好的魯棒性且構(gòu)造簡單,但是在實(shí)驗(yàn)中我們發(fā)現(xiàn)Sobel矩陣會忽略掉所有通過矩陣中心的一個(gè)像素寬的邊緣線,包插或的對角線也會被忽略掉。這

19、一缺陷的產(chǎn)生是由于33的像素區(qū)域太小,不足以確定穿過矩陣中心的邊緣。對這一問題的解決有兩種方法可以考慮:一是選用一個(gè)更大矩陣,如55的矩陣。這樣可以增加插值的參考點(diǎn),從而取得更好的插值效果。這種方法的優(yōu)點(diǎn)是計(jì)算方法簡單,容易實(shí)現(xiàn);缺點(diǎn)則是會加大計(jì)算量,不符合圖像處理的基本要求。二是用類似圖4.5中的方法。以放大兩倍為例,先將每一個(gè)源像素點(diǎn)都分割成4個(gè)目標(biāo)像素點(diǎn),從而找到每一個(gè)目標(biāo)像素點(diǎn)的插值配對,對于每個(gè)源像素點(diǎn)有4個(gè)不同的插值配對(4和0,4和3,4和1,4和l、3的平均值),這樣就可以算出每個(gè)源像素點(diǎn)的4個(gè)可能的梯度值。圖4.5顯示了如何分割源圖中每次取樣得到的9個(gè)源像素點(diǎn)。為了計(jì)算黑色區(qū)

20、域所代表的目標(biāo)像素插值點(diǎn)方向,要算出0,1,3和4這4個(gè)源像素點(diǎn)所組成區(qū)域中的最小梯度(用色彩的最小差值可以很好的近似)。這一方法雖可以避免直接增加計(jì)算量,但其瓶頸在于如何快速有效地算出取樣區(qū)域的色彩差值。如果不能采用有效的算法(如所介紹的算法),其計(jì)算量也會非常大,這一點(diǎn)在對24位圖像進(jìn)行處理時(shí)表現(xiàn)得尤為明顯。4.4.3圖像定向插值的簡化算法其基本思想和上述方法是一致的,只是在確定圖像邊緣的過程中作了一定的簡化處理。首先我們還是選用33的矩陣作為取樣模板,這樣可以兼顧處理的速度和精度。接下來查找邊緣的方法和上述的逐點(diǎn)計(jì)算方向不同,這里我們用一定的閾值將每次取樣所確定的源像素區(qū)域分為兩個(gè)部分。大于閾值部分的權(quán)值為1,小于閾值部分的權(quán)值為0。閾值的選取很重要這一點(diǎn)在后面會進(jìn)一步說明。最后只要確定目標(biāo)像素點(diǎn)所對應(yīng)的源像素點(diǎn)屬于哪一部分,將該部分的所有像素點(diǎn)作為計(jì)算的取樣點(diǎn),取樣點(diǎn)值的平均值就是所求目標(biāo)像素點(diǎn)的值。這種取平均值的方法實(shí)際上是默認(rèn)所有源像素點(diǎn)的權(quán)值,是相同的線性插值,是該簡化算法的另一個(gè)近似處理。如圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論