本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,具體來說是一種基于連分式插值技術(shù)的自適應(yīng)圖像修補(bǔ)方法及其系統(tǒng)。
背景技術(shù):
圖像修復(fù)是對圖像中損壞的部分用一定的方式進(jìn)行修補(bǔ),使之成為一幅完整的圖像。圖像修復(fù)在圖像處理、電影工業(yè)等行業(yè)中有著廣泛的應(yīng)用,比如照片和老電影中的劃痕去除、圖像中的文字和遮擋物去除等都與圖像修復(fù)有關(guān)。因而,圖像修復(fù)具有重大的應(yīng)用前景,是當(dāng)前計(jì)算機(jī)視覺和計(jì)算機(jī)圖形學(xué)的一個研究熱點(diǎn)。
現(xiàn)階段有很多研究人員已經(jīng)提出了不同的圖像修補(bǔ)方法,并取得了一定的成功,但是這些方法缺乏通用性、修補(bǔ)不夠完整、同時(shí)處理的邊界模糊。其中,基于偏微分方程的方法和基于紋理合成的方法是目前最常見的修補(bǔ)方法?;谄⒎址匠痰膱D像修復(fù)方法是通過沿著圖像中像素點(diǎn)的等照度線的方向,將修復(fù)區(qū)域周圍的信息迭代到待修復(fù)區(qū)域內(nèi),一直到該圖像填充完整為止。這種基于偏微分方程的方法有一定的修復(fù)效果,但是缺乏穩(wěn)定性,尤其是在處理背景較大的紋理圖時(shí)不能得到很好的效果。紋理合成方法是另一種修復(fù)方法,該方法首次在紋理合成中采用Markov隨機(jī)場模型。實(shí)踐證明,基于紋理合成的方法在處理時(shí)往往不能解決邊界模糊問題,因而無法實(shí)際應(yīng)用。
例如,如圖3所示,圖3為待修補(bǔ)的圖像。
1、使用文獻(xiàn)[1]和文獻(xiàn)[2]的方法進(jìn)行修復(fù),([1]Xing Huo,Jieqing Tan,and Min Hu.An automatic video scratch removal based on Thiele type continued fraction,Multimedia Tools and Applications,vol.71,no.2,pp.451-467,2014.[2]Xing Huo,Jieqing Tan.A novel non-linear method of automatic video scratch removal,Proceedings-4th International Conference on Digital Home,pp.39-45,2012.)通過使用一元連分式修補(bǔ)的方法(即目前最新的采用一元連分式來進(jìn)行圖像修補(bǔ)的方法,具體算法詳見文獻(xiàn)[1][2],其中文獻(xiàn)[1]是文獻(xiàn)[2]的一種改進(jìn)方法)處理后,如圖5所示,該方法只能基本的恢復(fù)出劃痕部位的圖像。
2、通過使用文獻(xiàn)[3]二元連分式修補(bǔ)的方法處理后,結(jié)果如圖6所示,([3]Xing Huo,Jieqing Tan.Bivariate rational interpolant in image inpainting,Journal of Information and Computational Science,vol.2,no.3,pp.487-492,2005.文獻(xiàn)[3]為目前最新的采用二元連分式進(jìn)行圖像修補(bǔ)的方法),該方法相對于一元連分式修補(bǔ)的方法來說能夠較好的修補(bǔ)劃痕,但是整體圖像修補(bǔ)的效果并不好,圖像較模糊。
由此可以發(fā)現(xiàn),針對目前各種修補(bǔ)技術(shù)存在的局限性,在現(xiàn)有的硬件條件下,如何設(shè)計(jì)出一種高效、簡單的修補(bǔ)方法已經(jīng)成為當(dāng)今急需解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中修復(fù)效果差、效率低的缺陷,提供一種基于連分式插值技術(shù)的自適應(yīng)圖像修補(bǔ)方法及其系統(tǒng)來解決上述問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:
一種基于連分式插值技術(shù)的自適應(yīng)圖像修補(bǔ)方法,包括以下步驟:
初始化圖像特征分析,對輸入的劃痕圖像進(jìn)行分析,判斷該劃痕圖像是灰度圖像還是彩色圖像;若為彩色圖像,則將該彩色圖像沿著R、G、B三個顏色通道分別按照灰度圖像的方式執(zhí)行;
利用一元連分式插值技術(shù)進(jìn)行劃痕圖像破損點(diǎn)的修補(bǔ),通過輸入的掩模圖來獲取對應(yīng)的劃痕圖像中的每個待修補(bǔ)點(diǎn)的位置,然后以該劃痕圖像的信息矩陣為目標(biāo)逐行檢測這些待修補(bǔ)點(diǎn),針對每個待修補(bǔ)點(diǎn)自適應(yīng)的選擇出周圍的已知像素點(diǎn)作為采樣點(diǎn),由這些采樣點(diǎn)結(jié)合一元連分式有理插值重構(gòu)出每個待修補(bǔ)點(diǎn)的像素信息,得到初始的修補(bǔ)圖像A;
利用二元連分式插值技術(shù)進(jìn)行劃痕圖像的再修補(bǔ),將初始的修補(bǔ)圖像A作為信息圖像,由掩模圖來確定每一個破損點(diǎn)的位置,由破損點(diǎn)周圍的像素信息采用二元連分式插值更新得到每個破損點(diǎn)的像素信息,得到最終的修補(bǔ)圖像B。
所述的利用一元連分式插值技術(shù)進(jìn)行劃痕圖像破損點(diǎn)的修補(bǔ)包括以下步驟:
劃痕圖像破損點(diǎn)的確定,輸入劃痕圖像的掩模圖,將掩模圖與劃痕圖像進(jìn)行重疊,獲取到劃痕圖像的待修補(bǔ)點(diǎn);
自適應(yīng)選擇插值采樣點(diǎn),讀取劃痕圖像的破損信息矩陣,自適應(yīng)的選擇出離待修補(bǔ)點(diǎn)(x,y)最近的4個已知像素點(diǎn),將這4個已知像素點(diǎn)構(gòu)成插值采樣點(diǎn);
破損點(diǎn)像素值的計(jì)算,由4個已知像素點(diǎn)結(jié)合一元連分式插值函數(shù)計(jì)算出該破損點(diǎn)的像素值,其包括以下步驟:
將一元連分式插值格式定義為:
其中,bi=φ[x0,x1,…,xi;y](i=0,…,m)是函數(shù)f(x,y)在點(diǎn)x0,x1,…,xi的逆差商,m是輸入圖像的長度,滿足如下:
φ[xi;y]=f(xi;y),i=0,1,2,…,m,
采用待修補(bǔ)點(diǎn)(x,y)周圍的4個已知像素點(diǎn)的信息結(jié)合一元連分式插值函數(shù)計(jì)算出該待修補(bǔ)點(diǎn)的像素值R1(x,y);
其中,
b0=φ[x0;y]=f(x0;y),
上式中f(x0;y),f(x1;y),f(x2;y),f(x3;y)分別為4個已知像素點(diǎn)(x0,y),(x1,y),(x2,y),(x3,y)的像素值,R1(x,y)為計(jì)算出來的待修補(bǔ)點(diǎn)(x,y)的像素值;
按照從左到右、從上到下的方向順序檢測劃痕圖像中每一個待修補(bǔ)點(diǎn),均進(jìn)行自適應(yīng)選擇插值采樣點(diǎn)步驟和破損點(diǎn)像素值的計(jì)算步驟,得到初始的修補(bǔ)圖像A。
所述的利用二元連分式插值技術(shù)進(jìn)行劃痕圖像的再修補(bǔ)包括以下步驟:
二元插值采樣點(diǎn)的確定,讀取初始的修補(bǔ)圖像A并將其作為信息矩陣,將掩模圖與初始的修補(bǔ)圖像A進(jìn)行重疊,獲取到初始的修補(bǔ)圖像A的待修補(bǔ)點(diǎn)位置,由待修補(bǔ)點(diǎn)(x,y)周圍的16個已知像素信息構(gòu)成插值像素點(diǎn);
對待修補(bǔ)點(diǎn)(x,y)搜索找到其周圍鄰近的16個像素點(diǎn),根據(jù)待修補(bǔ)點(diǎn)的坐標(biāo)位置,依次選擇:
將以上16個像素點(diǎn)作為二元插值采樣點(diǎn);
破損點(diǎn)像素值的更新,由二元插值采樣點(diǎn)結(jié)合二元連分式插值函數(shù)計(jì)算出該破損點(diǎn)的像素值,并更新代替原有修補(bǔ)圖像A中該點(diǎn)的像素值,其包括以下步驟:
將二元連分式插值格式定義為:
其中,i=0,1,…,m,m、n分別為輸入圖像的長、寬;
其中,為Newton–Thiele型混合差商;
構(gòu)造的二元向量有理函數(shù)滿足:
采用待修補(bǔ)點(diǎn)(x,y)周圍的16個像素點(diǎn)作為二元插值采樣點(diǎn),即結(jié)合二元向量有理函數(shù)計(jì)算得到該待修補(bǔ)點(diǎn)的像素值R2(x,y);
R2(x,y)=B0(y)+2B1(y)+2B2(y)-2B3(y),
其中,x0′=x-2,x1′=x-1,x2′=x+1,x3′=x+2,y0′=y(tǒng)+2,y1′=y(tǒng)+1,y2′=y(tǒng)-1,y3′=y(tǒng)-2,
其中,
φNT[x0′,…,xi′;y0′,…,yj′],i=0,1,2,3,j=0,1,2,3,為Newton–Thiele型混合差商,x0′=x-2,x1′=x-1,x2′=x+1,x3′=x+2,y0′=y(tǒng)+2,y1′=y(tǒng)+1,y2′=y(tǒng)-1,y3′=y(tǒng)-2,
上式中φNT[xi′;yj′]滿足:φNT[xi′;yj′]=f(xi′,yj′),其中f(xi′,yj′),為對應(yīng)的已知像素點(diǎn)(xi′,yj′)的像素值;
將像素值R2(x,y)代替初始的修補(bǔ)圖像A中該點(diǎn)的像素值R1(x,y),更新后待修補(bǔ)點(diǎn)(x,y)的像素值為R2(x,y);
從按從左到右、從上到下的方向順序?qū)Τ跏嫉男扪a(bǔ)圖像A的每一個待修補(bǔ)點(diǎn)均進(jìn)行二元插值采樣點(diǎn)的確定步驟和破損點(diǎn)像素值的更新步驟,得到了最終的修補(bǔ)圖像B。
所述的自適應(yīng)選擇插值采樣點(diǎn)包括以下步驟:
以劃痕圖像的破損信息矩陣為目標(biāo)進(jìn)行逐行檢測;
若發(fā)現(xiàn)待修補(bǔ)點(diǎn)(x,y),則在待修補(bǔ)點(diǎn)(x,y)同行的兩側(cè)由近至遠(yuǎn)的依次搜索破損點(diǎn)周圍鄰近的未破損像素點(diǎn),將搜索到的未破損像素點(diǎn)作為一個采樣點(diǎn);
當(dāng)搜索到未破損的像素點(diǎn)數(shù)量達(dá)到4個時(shí),停止搜索,在待修補(bǔ)點(diǎn)(x,y)同行的兩側(cè)共得到4個有效采樣點(diǎn)。
一種基于連分式插值技術(shù)的自適應(yīng)圖像修補(bǔ)方法的系統(tǒng),包括:用于確定輸入圖像的類型的初始化圖像輸入模塊、用于獲得初始的修補(bǔ)圖像A的一元連分式插值修補(bǔ)模塊和用于獲得最終的修補(bǔ)圖像B的二元連分式插值再修補(bǔ)模塊;
所述的初始化圖像輸入模塊的輸出端與一元連分式插值修補(bǔ)模塊的輸入端相連,一元連分式插值修補(bǔ)模塊的輸出端與二元連分式插值再修補(bǔ)模塊的輸入端相連。
有益效果
本發(fā)明的一種基于連分式插值技術(shù)的自適應(yīng)圖像修補(bǔ)方法及其系統(tǒng),與現(xiàn)有技術(shù)相比提高了圖像修補(bǔ)的質(zhì)量和效率,能夠修改任意類型的劃痕,適用于所有的圖像處理。
通過掩模圖的配合使用,可以迅速確定修補(bǔ)的位置而節(jié)省修補(bǔ)的時(shí)間,同時(shí),可以根據(jù)用戶要求靈活地修補(bǔ)感興趣的那部分圖像塊。本發(fā)明修補(bǔ)的圖像效果好、紋理細(xì)節(jié)豐富,修改效率大大提高,實(shí)際應(yīng)用性強(qiáng)。
附圖說明
圖1為本發(fā)明的方法順序圖;
圖2為本發(fā)明的系統(tǒng)結(jié)構(gòu)原理圖;
圖3為現(xiàn)有技術(shù)中待修補(bǔ)圖片;
圖4為圖3對應(yīng)的掩模圖;
圖5為使用文獻(xiàn)[1][2]的方法對圖3進(jìn)行修補(bǔ)后的效果圖;
圖6為使用文獻(xiàn)[3]的方法對圖3進(jìn)行修補(bǔ)后的效果圖;
圖7為使用本發(fā)明方法進(jìn)行修補(bǔ)后的效果圖。
具體實(shí)施方式
為使對本發(fā)明的結(jié)構(gòu)特征及所達(dá)成的功效有更進(jìn)一步的了解與認(rèn)識,用以較佳的實(shí)施例及附圖配合詳細(xì)的說明,說明如下:
如圖1所示,本發(fā)明所述的一種基于連分式插值技術(shù)的自適應(yīng)圖像修補(bǔ)方法,通過一元連分式插值能夠獲得初始的修補(bǔ)圖像,再通過二元連分式插值對初始的修補(bǔ)圖像進(jìn)行再次修補(bǔ),從而得到最終的修補(bǔ)效果。本發(fā)明將兩種方法結(jié)合起來不會帶來龐大的運(yùn)算量的問題,因?yàn)閱渭兊囊辉B分式插值修補(bǔ)相對于單純的二元連分式插值修補(bǔ)運(yùn)算量要小很多,所以,將一元連分式插值修補(bǔ)方法作為主要的修補(bǔ)技術(shù),而將二元連分式插值修補(bǔ)方法作為次要的修補(bǔ)技術(shù),僅僅用來更新破損點(diǎn)的像素值,從而降低整體的運(yùn)算量。
其包括以下步驟:
第一步,初始化圖像特征分析。對輸入的劃痕圖像進(jìn)行分析,判斷該劃痕圖像是灰度圖像還是彩色圖像。若為彩色圖像,則將該彩色圖像沿著R、G、B三個顏色通道分別按照灰度圖像的方式執(zhí)行,進(jìn)行第二步驟;若為灰色圖像,則直接進(jìn)行第二步驟。
第二步,利用一元連分式插值技術(shù)進(jìn)行劃痕圖像破損點(diǎn)的修補(bǔ)。
通過輸入的掩模圖來獲取對應(yīng)的劃痕圖像中的每個待修補(bǔ)點(diǎn)的位置,然后以該劃痕圖像的信息矩陣為目標(biāo)逐行檢測這些待修補(bǔ)點(diǎn),針對每個待修補(bǔ)點(diǎn)自適應(yīng)的選擇出周圍的已知像素點(diǎn)作為采樣點(diǎn),由這些采樣點(diǎn)結(jié)合一元連分式有理插值重構(gòu)出每個待修補(bǔ)點(diǎn)的像素信息,得到初始的修補(bǔ)圖像A。
如圖3和圖4所示,掩模圖為待修復(fù)圖的劃痕圖,通過使用掩模圖可以準(zhǔn)確定位到待修復(fù)圖中的劃痕。同時(shí),掩模圖的配合修補(bǔ),突破了傳統(tǒng)的僅僅針對破損圖的修補(bǔ),也可以適用于對圖像某部分感興趣位置的修補(bǔ),不一定非要是劃痕圖,比如遮擋物的移除,圖像部分細(xì)節(jié)的再重建等。另外,掩模圖還可以對圖像上某些區(qū)域進(jìn)行屏蔽,使其不進(jìn)行修補(bǔ)處理,從而提高了修補(bǔ)效率,同時(shí),對于一些特殊形狀的圖像修補(bǔ),掩模圖可以更好的進(jìn)行修復(fù)。用選定的圖像、圖形或物體,對待處理的圖像(全部或局部)進(jìn)行遮擋,來控制圖像處理的區(qū)域或處理過程。用于覆蓋的特定圖像或物體稱為掩模或模板。
其具體步驟如下:
(1)劃痕圖像破損點(diǎn)的確定。輸入劃痕圖像的掩模圖,將掩模圖與劃痕圖像進(jìn)行重疊,獲取到劃痕圖像的待修補(bǔ)點(diǎn)。掩模圖通常為二值圖像,圖像大小為劃痕圖的大小,對于不感興趣的那部分區(qū)域像素值為0,體現(xiàn)為黑色,而感興趣或者遮擋或者劃痕所在的位置像素值為1,體現(xiàn)為白色。
(2)自適應(yīng)選擇插值采樣點(diǎn)。
讀取劃痕圖像的破損信息矩陣,自適應(yīng)的選擇出離待修補(bǔ)點(diǎn)(x,y)最近的4個已知像素點(diǎn)(非破損的有效信息點(diǎn)),將這4個已知像素點(diǎn)構(gòu)成插值采樣點(diǎn)。一般來說,插值采樣點(diǎn)數(shù)量越多越能體現(xiàn)連分式的優(yōu)勢,但是由于采用4個以上數(shù)量的像素點(diǎn)進(jìn)行插值會造成算法的效率低,并且插值的效果也近似于4個像素點(diǎn)的插值,另外,2個或3個像素點(diǎn)的插值體現(xiàn)不出連分式插值的優(yōu)勢,并且插值的效果不好,因而,采用4個像素點(diǎn)來插值處理是最合適的。
A、以劃痕圖像的破損信息矩陣為目標(biāo)進(jìn)行逐行檢測;
B、若發(fā)現(xiàn)待修補(bǔ)點(diǎn)(x,y),則在待修補(bǔ)點(diǎn)(x,y)同行的兩側(cè)由近至遠(yuǎn)的依次搜索破損點(diǎn)周圍鄰近的未破損像素點(diǎn),將搜索到的未破損像素點(diǎn)作為一個采樣點(diǎn);
C、當(dāng)搜索到未破損的像素點(diǎn)數(shù)量達(dá)到4個時(shí),停止搜索,在待修補(bǔ)點(diǎn)(x,y)同行的兩側(cè)共得到4個有效采樣點(diǎn)。
自適應(yīng)的方法用于一元連分式插值采樣點(diǎn)的選擇中相比于傳統(tǒng)的插值窗口更具有靈活性,因?yàn)槊恳恍谢蛎恳涣兄锌赡軙袔讉€相鄰的待修補(bǔ)點(diǎn)未知,若采用傳統(tǒng)的插值窗口勢必造成破損點(diǎn)的像素值計(jì)算不正確或者偏差太大,而自適應(yīng)的方式是根據(jù)實(shí)際待修補(bǔ)點(diǎn)的位置,采用同一行中左右最近鄰的搜索方式來查找可用的采樣點(diǎn),并將該采樣點(diǎn)加入作為插值點(diǎn),一旦搜索的采樣點(diǎn)數(shù)量達(dá)到要求時(shí),就停止搜索,并將這些采樣點(diǎn)用于插值計(jì)算出該修補(bǔ)點(diǎn)的像素值。
本發(fā)明將自適應(yīng)的方法與連分式理論相結(jié)合應(yīng)用于圖像處理中,為圖像處理領(lǐng)域的首創(chuàng)。將自適應(yīng)的方法和連分式理論相結(jié)合用于圖像的修補(bǔ)中,主要體現(xiàn)在自適應(yīng)的方法用于一元連分式插值采樣點(diǎn)的選擇中。傳統(tǒng)的一元連分式插值采樣點(diǎn)的選擇具有隨意性,通常選擇破損點(diǎn)附近的幾個已知像素點(diǎn)作為采樣點(diǎn)(如文獻(xiàn)[1][2]中的方法)或者沿著破損點(diǎn)所在坐標(biāo)的正向方向依次選取幾個已知像素點(diǎn)作為采樣點(diǎn)。由于這種隨意性,導(dǎo)致了修補(bǔ)算法的不穩(wěn)定,甚至每次插值得到的該破損點(diǎn)的像素值不同。自適應(yīng)的方法用來進(jìn)行采樣點(diǎn)的選擇時(shí),是以該破損點(diǎn)為中心,采取左右對稱、由近至遠(yuǎn)的方式來選取采樣點(diǎn),類似于指針處理一樣,先查找離該破損點(diǎn)最近的左右兩個像素點(diǎn)(此處左右兩個像素點(diǎn)的先后順序不分),判斷是否為已知像素點(diǎn),如果兩個都是已知像素點(diǎn),則將這兩個像素點(diǎn)作為采樣點(diǎn),如果其中一個為已知像素點(diǎn),則將該像素點(diǎn)加入為采樣點(diǎn),如果兩個都不是已知像素點(diǎn),則指針移動到下一個離該破損點(diǎn)次近(次近是指離破損點(diǎn)中間間隔一個像素點(diǎn)的位置)的左或右的像素點(diǎn),采用同樣的方法進(jìn)行判斷該像素點(diǎn)是否為已知像素點(diǎn),并進(jìn)行處理。依次類推,同樣的操作,當(dāng)搜索的采樣點(diǎn)數(shù)量達(dá)到要求時(shí),就停止搜索,并將這些采樣點(diǎn)用于插值計(jì)算出該修補(bǔ)點(diǎn)的像素值。
(3)破損點(diǎn)像素值的計(jì)算。由4個已知像素點(diǎn)結(jié)合一元連分式插值函數(shù)計(jì)算出該破損點(diǎn)的像素值,其包括以下步驟:
A、將一元連分式插值格式定義為:
其中,bi=φ[x0,x1,…,xi;y](i=0,…,m)是函數(shù)f(x,y)在點(diǎn)x0,x1,…,xi的逆差商,m是輸入圖像的長度,滿足如下:
φ[xi;y]=f(xi;y),i=0,1,2,…,m,
B、采用待修補(bǔ)點(diǎn)(x,y)周圍的4個已知像素點(diǎn)的信息結(jié)合一元連分式插值函數(shù)計(jì)算出該待修補(bǔ)點(diǎn)的像素值R1(x,y);
其中,
b0=φ[x0;y]=f(x0;y),
上式中f(x0;y),f(x1;y),f(x2;y),f(x3;y)分別為4個已知像素點(diǎn)(x0,y),(x1,y),(x2,y),(x3,y)的像素值,R1(x,y)為計(jì)算出來的待修補(bǔ)點(diǎn)(x,y)的像素值;
(4)按照從左到右、從上到下的方向順序檢測劃痕圖像中每一個待修補(bǔ)點(diǎn),均進(jìn)行自適應(yīng)選擇插值采樣點(diǎn)步驟和破損點(diǎn)像素值的計(jì)算步驟,當(dāng)所有的待修補(bǔ)點(diǎn)均計(jì)算完,便得到初始的修補(bǔ)圖像A。
第三步,利用二元連分式插值技術(shù)進(jìn)行劃痕圖像的再修補(bǔ)。將初始的修補(bǔ)圖像A作為信息圖像,由掩模圖來確定每一個破損點(diǎn)的位置。此處,再用一次掩模圖是為了確認(rèn)破損點(diǎn)的位置,因?yàn)槌跏夹扪a(bǔ)圖像A中已經(jīng)看不出哪些是破損點(diǎn)了,所以,必須由掩模圖來確定破損點(diǎn)位置信息。由破損點(diǎn)周圍的像素信息采用二元連分式插值更新得到每個破損點(diǎn)的像素信息,得到最終的修補(bǔ)圖像B。
二元連分式插值技術(shù)進(jìn)行劃痕圖像的再修補(bǔ),從使用的插值函數(shù)和插值窗口的選擇來說,與現(xiàn)有的插值方法相同,不同的在于插值函數(shù)和插值窗口作用的對象不一樣?,F(xiàn)有技術(shù)作用的對象都是原始破損圖,而本發(fā)明作用對象為上一步得到的初始修補(bǔ)圖。之所以采用初始修補(bǔ)圖,是為了提高修補(bǔ)的效率。由于第二步已經(jīng)采用了一元連分式進(jìn)行了修補(bǔ),部分破損點(diǎn)可能已經(jīng)得到了正確的像素值,如果再次采用二元連分式對原始破損圖來修補(bǔ),勢必進(jìn)行了重復(fù)的操作,這是不必要的,同時(shí)也會降低整體算法的效率。因此在此步驟,采用二元連分式插值技術(shù)進(jìn)行劃痕圖像的再修補(bǔ)時(shí),我們僅僅將待修補(bǔ)點(diǎn)當(dāng)做破損點(diǎn),而其他在原始破損圖中的破損點(diǎn)并未作為破損點(diǎn),而是將這些點(diǎn)作為已知像素點(diǎn),它們所取的像素值為初始修補(bǔ)圖中對應(yīng)的這些點(diǎn)的像素值,然后采用現(xiàn)有的插值函數(shù)和插值窗口計(jì)算出待修補(bǔ)點(diǎn)的像素值。該步驟之所以這樣處理,是考慮了圖像像素之間的關(guān)聯(lián)性,越接近待修補(bǔ)點(diǎn)的像素點(diǎn)它們之間的相似性越大,因此,把待修補(bǔ)點(diǎn)周圍的其他所有像素點(diǎn)都作為已知像素點(diǎn)來處理勢必會得到更接近原始的像素值。從該步驟處理也可以發(fā)現(xiàn),由于把除了待修補(bǔ)點(diǎn)之外的其他像素點(diǎn)都作為已知像素點(diǎn)了,那么下一個待修補(bǔ)點(diǎn)如何確定就變得困難了,這個時(shí)候就需要配合掩膜圖使用,由掩模圖來確定每一個破損點(diǎn)的位置。
其包括以下步驟:
(1)二元插值采樣點(diǎn)的確定。讀取初始的修補(bǔ)圖像A并將其作為信息矩陣,將掩模圖與初始的修補(bǔ)圖像A進(jìn)行重疊,獲取到初始的修補(bǔ)圖像A的待修補(bǔ)點(diǎn)位置,由待修補(bǔ)點(diǎn)(x,y)周圍的16個已知像素信息構(gòu)成插值像素點(diǎn);
對修補(bǔ)點(diǎn)(x,y)搜索找到其周圍鄰近的16個像素點(diǎn),根據(jù)待修補(bǔ)點(diǎn)的坐標(biāo)位置,依次選擇:
將以上16個像素點(diǎn)作為二元插值采樣點(diǎn)。
在此是在初始修補(bǔ)圖像A的基礎(chǔ)上進(jìn)行破損信息的更新,所以,沒有采用3*3插值窗口(即9個像素點(diǎn)),而是采用4*4插值窗口(即16個像素點(diǎn))來處理,因?yàn)?*3插值窗口和4*4插值窗口在此處的效果差不多,同時(shí),將圖像分割成3*3的圖像塊相比于分割成4*4的圖像塊來說,圖像塊更多,而圖像塊越多算法執(zhí)行的次數(shù)越多,所以,從效率角度來看,采用16個像素點(diǎn)作為采樣點(diǎn)更合適。對于16個以上的像素點(diǎn)來說,連分式運(yùn)算的速度慢,整個算法的效率低,不適合使用。
(2)破損點(diǎn)像素值的更新。由二元插值采樣點(diǎn)結(jié)合二元連分式插值函數(shù)計(jì)算出該破損點(diǎn)的像素值,并更新代替原有修補(bǔ)圖像A中該點(diǎn)的像素值,其包括以下步驟:
A、將二元連分式插值格式定義為:
其中,i=0,1,…,m,m、n分別為輸入圖像的長、寬;
其中,為Newton–Thiele型混合差商;
構(gòu)造的二元向量有理函數(shù)滿足:
B、采用待修補(bǔ)點(diǎn)(x,y)周圍的16個像素點(diǎn)作為二元插值采樣點(diǎn),即結(jié)合二元向量有理函數(shù)計(jì)算得到該待修補(bǔ)點(diǎn)的像素值R2(x,y);
R2(x,y)=B0(y)+2B1(y)+2B2(y)-2B3(y),
其中,x0′=x-2,x1′=x-1,x2′=x+1,x3′=x+2,y0′=y(tǒng)+2,y1′=y(tǒng)+1,y2′=y(tǒng)-1,y3′=y(tǒng)-2,
其中,
φNT[x0′,…,xi′;y0′,…,yj′],i=0,1,2,3,j=0,1,2,3,為Newton–Thiele型混合差商,
x0′=x-2,x1′=x-1,x2′=x+1,x3′=x+2,y0′=y(tǒng)+2,y1′=y(tǒng)+1,y2′=y(tǒng)-1,y3′=y(tǒng)-2,
上式中φNT[xi′;yj′]滿足:φNT[xi′;yj′]=f(xi′,yj′),其中f(xi′,yj′),為對應(yīng)的已知像素點(diǎn)(xi′,yj′)的像素值;
C、將像素值R2(x,y)代替初始的修補(bǔ)圖像A中該點(diǎn)的像素值R1(x,y),更新后待修補(bǔ)點(diǎn)(x,y)的像素值為R2(x,y)。
(3)按從左到右、從上到下的方向順序?qū)Τ跏嫉男扪a(bǔ)圖像A的每一個待修補(bǔ)點(diǎn)均進(jìn)行二元插值采樣點(diǎn)的確定步驟和破損點(diǎn)像素值的更新步驟,得到了最終的修補(bǔ)圖像B。
如圖2所示,在此還提供一種基于連分式插值技術(shù)的自適應(yīng)圖像修補(bǔ)方法的系統(tǒng),其包括:用于確定輸入圖像的類型的初始化圖像輸入模塊、用于獲得初始的修補(bǔ)圖像A的一元連分式插值修補(bǔ)模塊和用于獲得最終的修補(bǔ)圖像B的二元連分式插值再修補(bǔ)模塊。
所述的初始化圖像輸入模塊的輸出端與一元連分式插值修補(bǔ)模塊的輸入端相連,一元連分式插值修補(bǔ)模塊的輸出端與二元連分式插值再修補(bǔ)模塊的輸入端相連。
如圖3所示為待修補(bǔ)的圖片,圖4為修補(bǔ)時(shí)使用的掩膜圖。通過使用一元連分式修補(bǔ)方法(具體算法詳見文獻(xiàn)[1][2])處理后,如圖5所示,對圖片破損部分進(jìn)行了部分修改,但仍存在部分破損點(diǎn)未修補(bǔ)。通過使用二元連分式修補(bǔ)方法(具體算法詳見文獻(xiàn)[3])處理后,如圖6所示,圖片整體視覺效果和質(zhì)量有所提升。如圖7所示,采用本發(fā)明的方法進(jìn)行修補(bǔ)后,明顯劃痕部分的細(xì)節(jié)恢復(fù)的更好,整體視覺效果更好,較文獻(xiàn)[1][2][3]的方法都有更大程度的優(yōu)化和提升。
為了體現(xiàn)出本發(fā)明的效率相比于其他三種方法更高,將這四種方法運(yùn)行時(shí)間的比較顯示在表1中。
表1本發(fā)明方法與文獻(xiàn)[1][2][3]方法的運(yùn)行時(shí)間比較表
為了顯示出本發(fā)明的效果更好,相比于另三種方法有了更好的提升,將采用評估圖像質(zhì)量的理論參數(shù),即峰值信噪比來作為評價(jià)的指標(biāo),在表2中顯示了這四種方法修補(bǔ)后的圖像的峰值信噪比的比較。
表2使用本發(fā)明方法與文獻(xiàn)[1][2][3]方法的峰值信噪比的比較表
從客觀角度出發(fā)進(jìn)行比較可以發(fā)現(xiàn),根據(jù)公式這里m×n為矩陣的大小,max=255,f(i,j)為原始圖像,為修補(bǔ)后的圖像,利用此公式計(jì)算出峰值信噪比PSNR的值。峰值信噪比越大,表明修補(bǔ)后的圖像和原始圖像越接近,即修補(bǔ)的圖像視覺效果越好,分辨率越高。
如表2所示,對待修補(bǔ)的圖片使用如上方法修補(bǔ)后的峰值信噪比的結(jié)果,可以發(fā)現(xiàn)本發(fā)明修補(bǔ)后的峰值信噪比比較現(xiàn)有技術(shù)方法的結(jié)果明顯要高,圖像分辨率和質(zhì)量更高。
如表1所示,對待修補(bǔ)的圖片使用如上方法修補(bǔ)的運(yùn)行時(shí)間的結(jié)果,在同樣運(yùn)行環(huán)境的電腦上運(yùn)行現(xiàn)有技術(shù)方法和本發(fā)明的方法,并記錄算法的運(yùn)行時(shí)間,可以發(fā)現(xiàn)本發(fā)明的效率相比于二元連分式修補(bǔ)方法(即文獻(xiàn)[3]的方法)更高,由于一元連分式是在一維坐標(biāo)方向上的處理,因而相對于二維坐標(biāo)方向同時(shí)處理的二元連分式來說效率要高。所以,從整體角度評估,本發(fā)明相比于現(xiàn)有技術(shù)來說不僅具有較好的運(yùn)算效率,同時(shí)修補(bǔ)的圖片質(zhì)量更高。
以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下本發(fā)明還會有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明的范圍內(nèi)。本發(fā)明要求的保護(hù)范圍由所附的權(quán)利要求書及其等同物界定。