專利名稱::基于三次樣條函數(shù)的插值方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種邊緣自適應(yīng)處理的圖像縮放方法,特別涉及三次樣條插值算法。技術(shù)背景圖像縮放是現(xiàn)代數(shù)字圖像處理不可缺少的一部分,放大后的圖像如何保證視覺效果是其技術(shù)關(guān)鍵。常用的放大算法有最近鄰插值、雙線性插值、雙三次插值算法等。最近鄰插值(nearestneighborinterpolation)是最簡單的一種插值算法,放大后的圖像容易出現(xiàn)馬賽克或鋸齒現(xiàn)象;雙線性插值(bilinearinterpolation)極大地消除了鋸齒現(xiàn)象,但會(huì)退化圖像的高頻部分,造成圖像的模糊;雙三次插值算法(BicubicInterpolation)效果最好。采用三次樣條函數(shù)的雙三次插值算法對于連續(xù)的圖像部分,能進(jìn)一步保證輸出圖像的連續(xù)性,滿足人的視覺平滑效果。但在現(xiàn)實(shí)中,圖像都是分片連續(xù)的,存在大量的非連續(xù)邊緣。對應(yīng)在數(shù)字圖像中非連續(xù)邊緣部分的處理中,其放大后的圖像會(huì)丟失一些細(xì)節(jié)信息,特別表現(xiàn)在物體邊緣部分的高頻信息部分,視覺上具體表現(xiàn)為物體邊緣部分虛化,邊緣過度模糊
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是,提供一種插值后圖像光滑,輪廓清晰的基于三次樣條函數(shù)的自適應(yīng)插值方法。本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案為,基于三次樣條函數(shù)的插值方法,其特征在于,先檢測插值點(diǎn)的位置狀態(tài);對處于不同的位置狀態(tài)的插值點(diǎn)再采用不同的處理方法進(jìn)行插值運(yùn)算。具體包括以下步驟a、將插值點(diǎn)相鄰像素點(diǎn)兩兩間的像素點(diǎn)值之差與預(yù)設(shè)閾值比較,得到插值點(diǎn)的位置狀態(tài)信息;b、根據(jù)插值點(diǎn)的位置狀態(tài)信息,判斷插值點(diǎn)是否處于圖像的非連續(xù)邊緣部分;如是,調(diào)整相鄰像素點(diǎn)的像素點(diǎn)值,進(jìn)入步驟c;如否,直接進(jìn)入步驟c;c、進(jìn)行插值運(yùn)算。通過對相鄰的兩個(gè)像素點(diǎn)間像素值的差進(jìn)行判斷,判定這兩個(gè)相鄰像素點(diǎn)是否處于真實(shí)圖像的邊緣兩側(cè)(非連續(xù)邊緣部分),即是否處于數(shù)字圖像中的物體邊緣,如不是,則直接進(jìn)入常規(guī)的插值運(yùn)算;如是,則先將該相鄰的兩個(gè)像素點(diǎn)進(jìn)行調(diào)整后再進(jìn)行插值運(yùn)算。艮口,本發(fā)明對數(shù)字圖像中像素梯度變化較小的部分采用平滑性表現(xiàn)較好的三次樣條函數(shù)插值算法;而對于梯度變化較大的邊緣部分,先對插值點(diǎn)所處的邊緣位置狀態(tài)進(jìn)行判斷,然后根據(jù)插值點(diǎn)位置狀態(tài)信息對插值點(diǎn)運(yùn)算的參數(shù)進(jìn)行調(diào)整??紤]到人眼對不同亮度下的對比靈敏度不同,為適應(yīng)人眼的分辨能力,這里對不同亮度的像素間采用不同的預(yù)設(shè)閾值來判斷其邊緣狀態(tài)。進(jìn)一步的,步驟a之前先判斷插值點(diǎn)是否處于圖像邊界,如是,進(jìn)入步驟c;如否,進(jìn)入步驟a。所述圖像邊界為圖像最前或最后的2個(gè)像素。對于在整個(gè)圖像的邊界最前兩個(gè)和最后兩個(gè)像素間位置插值的像素,考慮到不屬于視覺敏感范圍,采用最前兩點(diǎn)和最后兩點(diǎn)像素間線性插值方式處理。不作邊緣狀態(tài)檢測。具體的,插值點(diǎn)的位置狀態(tài)信息由插值點(diǎn)相鄰像素點(diǎn)間的邊緣狀態(tài)組成,所述邊緣狀態(tài)包括非邊沿狀態(tài)、邊沿狀態(tài);兩相鄰像素點(diǎn)值的差值的絕對值小于預(yù)設(shè)閾值,為所述非邊沿狀態(tài);兩相鄰像素點(diǎn)值的差值的絕對值大于或等于預(yù)設(shè)閾值,為所述邊沿狀態(tài)。具體的,所述插值點(diǎn)的位置狀態(tài)信息由與插值點(diǎn)相鄰4個(gè)像素點(diǎn)間的3個(gè)邊緣狀態(tài)組成與插值點(diǎn)相鄰4個(gè)像素點(diǎn)的像素點(diǎn)值依次為第一像素點(diǎn)值A(chǔ)1、第二像素點(diǎn)值A(chǔ)2、第三像素點(diǎn)值A(chǔ)3、第四像素點(diǎn)值A(chǔ)4;其中插值點(diǎn)位于第二像素點(diǎn)、第三像素點(diǎn)之間;3個(gè)邊緣狀態(tài)依次為第一狀態(tài);第二狀態(tài);第三狀態(tài);所述步驟b具體為當(dāng)?shù)谝粻顟B(tài)與第二狀態(tài)為非邊沿狀態(tài),第三狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第四像素點(diǎn)值A(chǔ)4;調(diào)整后的第四像素點(diǎn)值為2XA3-A2;當(dāng)?shù)谝粻顟B(tài)為邊沿狀態(tài),第二狀態(tài)與第三狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一像素點(diǎn)值A(chǔ)1;調(diào)整后的第一像素點(diǎn)值為2XA2-A3;當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第二狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一像素點(diǎn)值A(chǔ)1與第四像素點(diǎn)值A(chǔ)4;調(diào)整后的第一像素點(diǎn)值為Al+(A3-Al)Xa;調(diào)整后的第四像素點(diǎn)值為A4+(A2-A4)Xa;當(dāng)?shù)诙顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第一狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一像素點(diǎn)值A(chǔ)1;調(diào)整后的第一像素點(diǎn)值為A1+(A3-A1)Xa;當(dāng)?shù)谌隣顟B(tài)為邊沿狀態(tài),第一狀態(tài)與第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第四像素點(diǎn)值A(chǔ)4;調(diào)整后的第四像素點(diǎn)值為A4+(A2-A4)Xa;當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)為邊沿狀態(tài),第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一像素點(diǎn)值A(chǔ)1與第四像素點(diǎn)值A(chǔ)4;調(diào)整后的第一像素點(diǎn)值為Al+(A2-Al)Xa;調(diào)整后的第四像素點(diǎn)值為A4+(A3-A4)Xa;插值點(diǎn)的位置狀態(tài)信息中3個(gè)狀態(tài)全為非邊沿、全為邊沿狀態(tài)時(shí),直接進(jìn)入步驟c。其中,a為調(diào)節(jié)因子,其取值范圍為0—1。為進(jìn)一步提高位置狀態(tài)信息的精確度,將邊沿狀態(tài)進(jìn)一步分為正邊沿狀態(tài)、負(fù)邊沿狀態(tài);兩相鄰像素點(diǎn)值的差值大于O,且其絕對值大于或等于預(yù)設(shè)閾值,為所述正邊沿狀態(tài);兩相鄰像素點(diǎn)值的差值小于O,且其絕對值大于或等于預(yù)設(shè)閾值,為所述負(fù)邊沿狀態(tài)。本發(fā)明的有益效果是,在保證圖像平滑性的基礎(chǔ)上,增加邊緣銳度,同時(shí)有效的消除了原三次樣條函數(shù)插值算法中,由于圖像邊緣兩側(cè)非連續(xù)狀態(tài)像素互相干擾導(dǎo)致的邊緣兩側(cè)虛像的問題。同時(shí),本發(fā)明對所有插值點(diǎn)的計(jì)算,采用同一個(gè)運(yùn)算公式,使得本發(fā)明的實(shí)現(xiàn)簡單,與常規(guī)三次樣條函數(shù)插值算法實(shí)現(xiàn)復(fù)雜度相當(dāng)。以下通過附圖與具體實(shí)施方式對本發(fā)明做進(jìn)一步說明。圖1為一維方向上插值點(diǎn)及其相鄰4個(gè)像素點(diǎn)的示意圖。具體實(shí)施方式由于圖像像素是行、列排列整齊的二維離散點(diǎn),所以在插值時(shí),我們可以采用先行后列(或先列后行)分別在行方向、列方向上進(jìn)行兩次一維插值的方法來實(shí)現(xiàn)。本實(shí)施例以一種三次樣條函數(shù)為例,即雙三次插值的一維計(jì)算式公式如下+^(1+d-d2+1]-d2(1-dJ+2]式i其中,如圖l所示AlA4來表示A[i,j-l]A[i,j+2],A1A4為插值點(diǎn)I的相鄰像素點(diǎn),插值點(diǎn)I位于像素點(diǎn)A2、A3之間,[i,m]為插值點(diǎn)I的坐標(biāo)位置,d為插值點(diǎn)I[i,m]與相鄰像素點(diǎn)A1[i,j]的距離。對于圖像中的連續(xù)部分,雙三次插值算法,能夠保證A2A3之間的插值點(diǎn)數(shù)值連續(xù)平滑,滿足視覺效果。但是實(shí)際圖像總是局部分段連續(xù)的,當(dāng)A1A4之間出現(xiàn)不連續(xù)的邊緣時(shí),A1A4之間的像素值會(huì)有一個(gè)階越。此時(shí),若雙三次計(jì)算的AlA4仍然采用A[i,j]序列的值,則運(yùn)算的結(jié)果將會(huì)與插值點(diǎn)位置原始的像素值有較大偏差。實(shí)施例考慮到雙三次插值分解到行方向、列方向上各進(jìn)行兩次一維插值,行、列方向上的運(yùn)算具有一致性。下面以行方向?yàn)槔f明步驟一設(shè)定根據(jù)亮度變化的閾值表。設(shè)定當(dāng)兩個(gè)相鄰的像素點(diǎn)間像素值差額超過預(yù)設(shè)閾值時(shí),既判定這兩個(gè)相鄰像素點(diǎn)處于真實(shí)圖像的邊緣兩側(cè),即兩者之間為數(shù)字圖像中的物體邊緣。根據(jù)人眼對不同亮度下的對比靈敏度不同,為適應(yīng)人眼在不同亮度下對邊緣的分辨能力,這里對不同亮度的像素間采用不同的閾值來判斷邊緣狀態(tài)。此閾值表可根據(jù)經(jīng)驗(yàn)設(shè)定步驟二確定插值點(diǎn)位置確定需要讀取的原圖像像素點(diǎn),并判斷所謂位置的邊緣狀態(tài)2.1對于在整個(gè)圖像的邊界(圖像中最前兩個(gè)和最后兩個(gè)像素)位置的像素,考慮到不屬于視覺敏感范圍,采用線性插值方式處理,不作邊緣狀態(tài)檢測。設(shè)位于圖像邊界的位置狀態(tài)信息為111U1,兩相鄰像素點(diǎn)表示為A1,A2,如下表l第l項(xiàng)所示。2.2對于非2.l所述的其他位置插值點(diǎn),根據(jù)式l,需要四個(gè)像素的像素值。通過對插值點(diǎn)的位置判定,選擇合適的四個(gè)像素。計(jì)算出四個(gè)像素點(diǎn)之間的差額,分別為<formula>formulaseeoriginaldocumentpage8</formula><formula>formulaseeoriginaldocumentpage8</formula><formula>formulaseeoriginaldocumentpage8</formula>2.3像素點(diǎn)之間的差額與步驟一建立的閾值對比判斷,得出每兩個(gè)像素點(diǎn)之間的邊緣狀態(tài)sta。相鄰4個(gè)像素點(diǎn)共有三個(gè)邊緣狀態(tài)分別為stal,sta2,sta3。邊緣狀態(tài)有三種類型非邊沿狀態(tài)、正邊沿狀態(tài)、負(fù)邊沿狀態(tài)。<formula>formulaseeoriginaldocumentpage8</formula>式中th(i,j)為對應(yīng)像素點(diǎn)A[i,j]的亮度的閾值。四個(gè)像素點(diǎn)間的三個(gè)邊緣狀態(tài)信息共同構(gòu)成插值點(diǎn)的位置狀態(tài)信息{stal,sta2,sta3}。步驟三根據(jù)步驟二確定的插值點(diǎn)的位置狀態(tài)信息,對A1A4四個(gè)像素點(diǎn)進(jìn)行不同的調(diào)整運(yùn)算處理。選擇調(diào)整后的四個(gè)數(shù)值D1D4送入如式1所示的運(yùn)算模塊進(jìn)行插值運(yùn)算,從而得到合適的插值像素值。這里將公式l更改如下表達(dá)式<table>tableseeoriginaldocumentpage9</column></row><table>常規(guī)雙三次插值等同。如表第2、3項(xiàng)當(dāng)?shù)谝粻顟B(tài)與第二狀態(tài)為非邊沿狀態(tài),第三狀態(tài)為邊沿狀態(tài)(正邊沿狀態(tài)或負(fù)邊沿狀態(tài))時(shí),調(diào)整第四像素點(diǎn)值A(chǔ)4;調(diào)整后的第四像素點(diǎn)值D4二2XA3-A2;如表第4、5項(xiàng)當(dāng)?shù)谝粻顟B(tài)為邊沿狀態(tài)(正邊沿狀態(tài)或負(fù)邊沿狀態(tài)),第二狀態(tài)與第三狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一像素點(diǎn)A1值;調(diào)整后的第一像素點(diǎn)值D^2XA2-A3;如表第6、7項(xiàng)當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第二狀態(tài)為邊沿狀態(tài)時(shí)(正邊沿狀態(tài)或負(fù)邊沿狀態(tài)),調(diào)整第一像素點(diǎn)值A(chǔ)1與第四像素點(diǎn)值A(chǔ)4;調(diào)整后的第一像素點(diǎn)值D1=A1+(A3-Al)Xa;調(diào)整后的第四像素點(diǎn)值04=A4+(A2-A4)Xa;如表第8至11項(xiàng)當(dāng)?shù)诙顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第一狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一像素點(diǎn)值A(chǔ)1;調(diào)整后的第一像素點(diǎn)值D^A1+(A3-A1)Xa;如表第12至15項(xiàng)當(dāng)?shù)谌隣顟B(tài)為邊沿狀態(tài),第一狀態(tài)與第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第四像素點(diǎn)值A(chǔ)4;調(diào)整后的第四像素點(diǎn)值04=A4+(A2-A4)Xa;如表第16、17項(xiàng)當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)都為正邊沿狀態(tài)或都為負(fù)邊沿狀態(tài),第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一像素點(diǎn)A1值與第四像素點(diǎn)值A(chǔ)4;調(diào)整后的第一像素點(diǎn)值D1=A1+(A2-Al)Xa;調(diào)整后的第四像素點(diǎn)值04=A4+(A3-A4)Xa;如表第18項(xiàng)當(dāng)位置狀態(tài)信息不屬于上述情況時(shí),不對原始像素點(diǎn)值A(chǔ)1A4進(jìn)行調(diào)整,如位置狀態(tài)信息為(非邊沿狀態(tài),非邊沿狀態(tài),非邊沿狀態(tài)}、(正邊沿狀態(tài),非邊沿狀態(tài),負(fù)邊沿狀態(tài)}、(負(fù)邊沿狀態(tài),非邊沿狀態(tài),正邊沿狀態(tài)}等情況。在對本發(fā)明的驗(yàn)證實(shí)驗(yàn)中,采用常規(guī)雙三次插值與采用本發(fā)明的插值算法在同等放大倍數(shù)的仿真圖形比較,可以明顯看出,本方法相對比常規(guī)雙三次算法,邊緣清晰度著明顯提高。且本發(fā)明方法在具體實(shí)現(xiàn)中結(jié)構(gòu)簡單,相對常規(guī)算法,并未增加太多復(fù)雜度。基于本發(fā)明思想,亦可實(shí)現(xiàn)于非式l所表示的其他三次樣條函數(shù)插值算法。實(shí)施例中式l所示的三次插值僅作為舉例參考。對于其他三次樣條函數(shù)插值算法,通過對本發(fā)明的變化調(diào)整,亦可實(shí)現(xiàn)對邊緣部位的優(yōu)化。權(quán)利要求1.基于三次樣條函數(shù)的插值方法,其特征在于,先檢測插值點(diǎn)的位置狀態(tài);對處于不同的位置狀態(tài)的插值點(diǎn)再采用不同的處理方法進(jìn)行插值運(yùn)算。全文摘要本發(fā)明涉及一種邊緣自適應(yīng)處理的圖像縮放方法,特別涉及三次樣條插值算法。本發(fā)明所要解決的技術(shù)問題是,提供一種插值后圖像光滑,輪廓清晰的基于三次樣條函數(shù)的自適應(yīng)插值方法;所采用的技術(shù)方案是,先檢測插值點(diǎn)的位置狀態(tài),對處于不同的位置狀態(tài)的插值點(diǎn)再采用不同的處理方法進(jìn)行插值運(yùn)算。本發(fā)明在保證圖像平滑性的基礎(chǔ)上,增加邊緣銳度,同時(shí)有效的消除了原三次樣條函數(shù)插值算法中,由于圖像邊緣兩側(cè)非連續(xù)狀態(tài)像素互相干擾導(dǎo)致的邊緣兩側(cè)虛像的問題。同時(shí),本發(fā)明對所有插值點(diǎn)的計(jì)算,采用同一個(gè)運(yùn)算公式,使得本發(fā)明的實(shí)現(xiàn)簡單,與常規(guī)三次樣條函數(shù)插值算法實(shí)現(xiàn)復(fù)雜度相當(dāng)。文檔編號G06T3/40GK101226630SQ20081030025公開日2008年7月23日申請日期2008年1月29日優(yōu)先權(quán)日2007年9月27日發(fā)明者宇張,濤陳申請人:四川虹微技術(shù)有限公司