(杭州電子科技大學(xué)圖形圖像研究所,浙江 杭州310018)
計算機中的圖像分為兩大類:柵格圖像和矢量圖像。矢量圖像用少量的點、直線、多邊形等幾何圖元表示,所占存儲空間小,并且易于對其進行操作[1],在現(xiàn)代計算機系統(tǒng)中得到廣泛的應(yīng)用。圖像矢量化方法有很多,其中比較經(jīng)典的矢量化方法有基于優(yōu)化梯度網(wǎng)格的圖像矢量化[2],以及其改進方法一種拓?fù)浔3值奶荻染W(wǎng)格表示圖像的方法[3]。偏微分方法將曲面看作橢圓型偏微分方程在邊界條件下的解,由于偏微分方法只需少量邊界條件即可表示復(fù)雜的三維曲面,所需存儲量少因而非常高效。近年來國外學(xué)者研究了采用橢圓型偏微分方程作為曲面模型,將從未知曲面提取出的輪廓線作為邊界條件,通過偏微分方法擬合曲面的基本原理和應(yīng)用[4]。本文在偏微分方法構(gòu)造曲面的基礎(chǔ)之上,提出了利用偏微分?jǐn)?shù)值解進行圖像矢量化方法,提取圖像的輪廓線作為邊界條件,通過求解非線性方程組,有效的將處理圖形的方法來處理圖像。
有限差分法是數(shù)值求解偏微分方程的一種有效的方法,將偏微分方程的解轉(zhuǎn)化為一組代數(shù)方程方程組,容易在計算機中實現(xiàn)[5]。有限差分方法在節(jié)點很多的情況下將偏微分方程求解問題歸結(jié)為解大型的線性方程組的問題,此時的系數(shù)矩陣常是對3 對角或塊狀3 對角,其中非零元素占的比例很小(稱為稀疏矩陣),分布也有一定的規(guī)律,迭代法可以比較充分地利用這些特點,因此它是解代數(shù)方程組的一種重要方法。用迭代法解方程的優(yōu)點是:程序簡單,對于稀疏矩陣存儲量可以大為減少,而且收斂的迭代過程是一個不斷修正誤差的漸進過程,因此數(shù)值解的精度就相對比較高。
假設(shè)所求曲面X=X(u,v)滿足如下的偏微分方程:
式中,u,v為給定的參數(shù),及給定邊界線Ci(i=0,1,2,3),邊界條件為:
采用有限差分法求解偏微分方程曲面,首先對參數(shù)區(qū)域圍成的矩形網(wǎng)格剖分,然后把偏微分方程中的所有偏導(dǎo)數(shù)用它們的離散逼近采樣點替換。對矩形網(wǎng)格區(qū)域用兩組平行于坐標(biāo)軸的直線ui=ih,vj=jh 進行剖分,假定給定的步長為:h=1/M,則共有M-1個內(nèi)結(jié)點,在每個內(nèi)結(jié)點(i,j)上,用二階中心差分格式代替式中二階偏導(dǎo)數(shù),得到:
對于一幅輸入的彩色圖像,如圖1(a),(c)所示,為初始輸入圖像peeper,圖1(b),(d)為初始輸入圖像lemon,可以采樣得到邊界象素信息,然后通過B樣條擬合得到初始的邊界條件。本文采用的是3次均勻B樣條來擬合邊界曲線。
圖1 初始邊界條件
3次均勻B樣條曲線段得矩陣表示為:
式中,Bj,3(u),j=0,1,2,3為3次B樣條基函數(shù),Pi(u)表達(dá)式為:
以上矩陣表達(dá)式寫成:A=BC。用正交方程組的形式表示:BTA=BTBC。
令BTA=E,BTB=F,C為所要求的矩陣,用X 矩陣表示,則:FX =E;其中E,F(xiàn) 都是已知的矩陣,可以直接求出X 矩陣,即為控制頂點矩陣。如圖1(b)為圖1(a)pepper 初始的邊界條件。
通過雙線性插值方法得到最終的輸出圖像如圖2所示。
圖2 雙線性插值
圖2中,Q11,Q12,Q21,Q22為已知點,分別在x方向和y方向進行雙線性插值,得到:
圖1經(jīng)過雙線性插值得到最終的輸出圖像如圖3所示:
圖3 雙線性插值效果圖
從圖3可以看出通過以上步驟進行矢量化后的輸出結(jié)果并不理想,最終生成的圖像邊界不明顯,出現(xiàn)模糊的現(xiàn)象,可見此種方法對于形狀以及顏色比較復(fù)雜的物體的矢量化的效果并不理想,接下來考慮一些改進的方法,可以將圖像首先進行分割,然后針對每個子對象來進行矢量化。做這樣的處理時,僅僅需要對圖像進行預(yù)處理,分割出來的子對象的邊界比較清晰,且顏色單一,矢量化的其他步驟和我們之前處理整幅圖像的步驟一樣。
如圖4所示,圖4(a),(c)為初始輸入圖像,圖4(b),(d)為采用僅對子對象實現(xiàn)矢量化的改進方法以后的輸出結(jié)果,從輸出結(jié)果可以看出,做這樣的處理之后的矢量化結(jié)果是比較理想的,能如實反映原始輸入圖像。
圖4 圖像分割后的處理效果圖
偏微分方程的數(shù)值解法主要采用的是有限差分的方法,具體實現(xiàn)時采用5點差分的格式,得到采樣點鄰近象素點的信息,但是這樣處理并不能得到圖像上所有象素點的信息,接下來采用雙線性插值的方法,將未知的象素點信息求出來,得到最終的輸出圖像。對于整幅圖像進行這樣的處理后,矢量化的效果并不理想,做了進一步的改進,只針對圖像區(qū)域進行矢量化,先將圖像分割,對具體的圖像子對象來實現(xiàn)矢量化過程,得到矢量化結(jié)果。
[1]彭容杰.圖像矢量化方法研究與英語[M].武漢:華中科技大學(xué),2006:35-45.
[2]Sun J,Liang L.Image vectorization using optimized gradient meshes[J].ACM Transactions on Graphics,2007,3(11):1-7.
[3]Lai Yu-Kun,Hu Shi-Min.Automatic and Topology-Preserving Gradient Mesh Generation for Image Vectorization[J].ACM Transactions on Graphics,2009,28(3):1-7.
[4]Ugail H,Kirmani S.Shape Reconstruction using Partial Differential Equations[J].WSEAS Transactions on Computers,2006,10 (5):2 156-2 161.
[5]李瑞遐,何志慶.微分方程數(shù)值方法[M].上海:華東理工大學(xué)出版社,2005:70-76.