石 雷 韓德志 章夏芬 畢 坤
(上海海事大學信息工程學院 上海 201306)
基于輪廓擬合的新風格書法字合成
石 雷 韓德志*章夏芬 畢 坤
(上海海事大學信息工程學院 上海 201306)
限于當前有限的數(shù)字書法資源,書法數(shù)據(jù)庫中有時不一定有用戶所需風格的書法字圖像。針對這個問題,提出了基于兩個書法字輪廓合成一系列具有中間風格的新書法字的方法。首先提取同一字不同風格的兩個樣本字的輪廓,接著用貝塞爾曲線擬合輪廓,再把矢量化輪廓字并歸一化以獲取可比性;然后,通過形狀匹配法找到兩個書法字對應(yīng)的輪廓點對,選取關(guān)鍵點作為控制點,合成具有中間風格的書法字矢量輪廓;最后,用填充算法填充輪廓得到一個新風格的書法字。
輪廓擬合 填充算法 書法字合成
隨著數(shù)字化技術(shù)和存儲技術(shù)的迅猛發(fā)展,大量紙張書法作品被數(shù)字化成圖像存儲在計算機里,相應(yīng)的書法創(chuàng)作和鑒賞也從紙張方式延伸到數(shù)字方式。在數(shù)字圖書館CADAL里[1],書法作品頁面被切分成單字,做成書法單字字庫以提供服務(wù)。用戶可以從中選擇自己所需單字合成名稱,譬如“中國工程院”門口的院名以及院標上的書法字是用CADAL數(shù)據(jù)庫中的單個書法字合成的,“浙江大學”門口的書法字是從毛澤東的書法字中挑選而后合成的。電子產(chǎn)品的普及使越來越多的人提筆忘字,利用歷史書法字進行創(chuàng)作能體現(xiàn)出書法藝術(shù)文化,其需求不斷增長。例如在產(chǎn)品包裝、T恤設(shè)計、牌匾制作、視覺圖形設(shè)計以及廣告設(shè)計等應(yīng)用中,通常都要求使用一組風格統(tǒng)一的書法字。但是,有限的書法數(shù)據(jù)庫中檢索出來的書法字的風格各異,并不一定是所需的,即數(shù)據(jù)庫中缺少指定風格的書法字。因此,如何從已有的書法字中生成各種所需要風格的書法字成為亟需解決的問題。
書法字圖像的本質(zhì)是圖像,圖像是可以合成的。從這個角度出發(fā),對已有的書法字圖像進行分析,經(jīng)過形變、合成,能得到具有新風格的書法字?;谶@一思想,本文提出了一種基于書法字輪廓擬合的新風格書法字合成方法:提取用戶所選的同一字不同風格的兩個書法單字的輪廓,計算出匹配的輪廓點對,用參數(shù)控制點對間的變化距離,合成一系列中間風格的書法字輪廓,最后填充輪廓得到一個具有新風格的書法字。
新風格書法字的生成有多年的研究。徐頌華首先實現(xiàn)了一個智能的新風格書法字生成系統(tǒng)[2],可以根據(jù)用戶不同的要求生成不一樣風格的書法字。但系統(tǒng)中新風格的書法字是基于一個指定的書法字,通過變換參數(shù)得到的,而用戶很多時候并不確定這個書法字到底變到何種程度正是所需的。CADAL項目組的俞凱構(gòu)建了一個風格一致的書法字合成系統(tǒng)[3]:提取已有書法字的部首,用來自不同字的部首合成一個新的書法字。這個想法很好,但書法字有粘連、變形、枯筆,很多時候部首提取的正確率不高。Cao Shi等提出類似的基于已有書法筆畫生成新書法字的方法[4],筆畫比部首更具體、變化更多。但是,同樣道理,從已有書法字中提取筆畫和提取部首一樣有難度,至今尚未發(fā)現(xiàn)公開出版的提取書法筆畫的實用系統(tǒng)。CADAL項目組的夏洋提出了一種基于本體的特定書法作品風格的楷書書法字合成方法[5],通過書法部首選擇、書法筆畫選擇、書法部首合成及書法字合成各個階段的算法設(shè)計,并最終實現(xiàn)一套基于本體的特定書法作品風格楷書書法字合成系統(tǒng)。這個方法很好,但也存在不足之處:所有的合成未改變原有字和部首的形狀,若數(shù)據(jù)庫中沒有所需風格的字或部首,則指定風格的合成難以完成。Jun Dong所給出的新風格書法字生成的細節(jié)[6],是針對隸書的,通過筆畫輪廓上的關(guān)鍵點的移動使筆畫產(chǎn)生形變,生成新風格書法字,這種生成方法和徐頌華的方法[2]有類似的優(yōu)缺點。
上述合成方法都是要基于書法筆畫或部首的提取和分解的。雖然書法字筆畫和部首能夠更精確地表示書法字風格,但由于書法字存在筆畫變形、枯筆、殘筆、筆畫模糊等特點,使得筆畫和部首提取的正確率本身成為合成的關(guān)鍵因素,目前仍沒有適用于多種字體風格的有效的部首和筆畫提取方法。且不同風格的筆畫組合而成的書法字雖然不同于原有風格,但可能會引起整個書法字的不協(xié)調(diào)。文獻[7]則另辟蹊徑,提出了一種適用于書法字輪廓變形的算法,根據(jù)訓練樣本的輪廓,用參數(shù)控制合成一系列中間風格的書法字輪廓。此算法合成的書法字對比使用不同風格筆畫組合而成的書法字,更貼近用戶所需,用戶只需要選中源和目標風格就能生成一系列中間風格的新書法字。然而,該論文由于完成了源和目標書法字的關(guān)鍵輪廓點對匹配,所生成的中間風格的關(guān)鍵點對無法形成一個封閉區(qū)域,因此無法還原得到完整的新風格書法字。
本文提出了一種基于輪廓擬合的中間風格書法字生成方法,主要貢獻如下:
1) 從單個書法字圖像中選擇同一字的兩個不同風格的書法字圖像,提取其輪廓點中的關(guān)鍵點;接著以關(guān)鍵點為控制點,使用貝塞爾曲線分段擬合輪廓曲線,得到一個可以自由變換大小的輪廓矢量字,再將兩個書法字大小歸一化。
2) 計算兩個書法字的輪廓點的相似性,匹配對應(yīng)輪廓點。
3) 通過設(shè)置不同參數(shù)調(diào)整輪廓點位置,再通過貝塞爾曲線擬合輪廓點,合成出一系列中間風格的書法字輪廓,最后通過填充的方法還原書法字的墨跡得到一個新的書法字。
本文中所使用的書法字圖像來自于CADAL項目[1],掃描得到的頁面圖像被切分成單個書法字圖像[8]。在預處理時,對書法字圖像進行去噪、二值化成黑白圖像。
2.1 輪廓提取和跟蹤
本文采用Canny算法[9]提取書法字圖像的輪廓,并在提取輪廓時將圖像上的所有像素點分為三類:背景點、輪廓點以及內(nèi)部點。
一個漢字中含有多個筆畫或部首,其輪廓線形成多個閉合區(qū)域。得到書法字的輪廓以后,將它們分成獨立的互不重疊的閉合區(qū)域,作為生成輪廓矢量字的基本單元。本文采用輪廓跟蹤的方法,按從下到上,從左到右的順序找到第一個輪廓點,接著按順時針方向找到與之相鄰的下一個輪廓點,以此類推,直到重新回到起始點。這樣便跟蹤得到一個輪廓點的有序集合,這些輪廓點首尾相連就是一個封閉輪廓。接著,遍歷所有未經(jīng)過的輪廓點,得到所有封閉輪廓。設(shè)某一封閉輪廓上共有n個輪廓點,若n<8,則該輪廓是噪聲,去除。最后,按閉合輪廓順時針方向的右側(cè)是內(nèi)部點(書法字上的點),外側(cè)是背景點的規(guī)則,將輪廓分為外輪廓和內(nèi)輪廓。
2.2 關(guān)鍵點檢測
輪廓是由多個像素點來表達的,多個連續(xù)的像素點形成輪廓線;這其中多個連續(xù)像素點存在冗余信息,只有部分點是關(guān)鍵點。書法字輪廓上的關(guān)鍵點是指拐點或者角點,即在輪廓線走勢上變化最為劇烈的點。求輪廓線上的拐點,可通過計算每個像素點曲率,找最值方法得到。然而,像素點是離散的,其曲率不像連續(xù)曲線上的點那樣精確;近似計算得到的拐點曲率與非拐點曲率差別較小,且對形狀及尺寸變化較敏感,易受到噪聲的干擾。尚振宏和劉明業(yè)根據(jù)離散曲線上拐點兩側(cè)多個點對間的歐氏距離之平方和的相對大小來計算曲率[10]。這種定義來源于離散曲線的外觀特征,比用連續(xù)空間中曲率的差分近似表示更能準確反映出離散曲線上拐點的本質(zhì)。選定鄰接距離d的值(d>1),曲線上的點Pi的曲率是以Pi為中心,鄰接距離d范圍內(nèi),離Pi距離相等的點對之間的歐氏距離的平方和:
(1)
其中x、y分別表示像素點的坐標值,k為鄰域內(nèi)點對個數(shù)。d鄰域內(nèi),Ci(k)值最大的輪廓點對應(yīng)曲率最大值,為關(guān)鍵點。然而,由于腐蝕等各種原因,掃描處理得到的書法字輪廓仍然會存在抖動的現(xiàn)象,僅用曲率檢測拐點很難排除這類噪聲。因此,本文提出第二種拐點特征,定義為曲線上一點pi的到點pi+k和點pi-k所連直線的距離,即:
(2)
其中,preik=|pi-kpi-k+1|+|pi-k+1pi-k+2|+…+|pi-1-pi|,nextik=|pi+1pi+2|+|pi+2pi+3|+…+|pi+k-1-pi+k|,點pi、pi+k和點pi-k所組成的弧段中,pi處方向變化得越劇烈,曲線越彎曲,Di(k)就越大。兩種方式的融合能更準確地區(qū)別關(guān)鍵與非關(guān)鍵點。本文選擇的關(guān)鍵點,滿足下式:
Di(k)/Ci(k)>θ
(3)
其中,經(jīng)過實驗測試,取k=3,θ=0.015。通過式(3)求得候選關(guān)鍵點后,還要對候選關(guān)鍵點進行篩選,要求兩關(guān)鍵點之間,至少要有3個以上的輪廓點。從雙重彎曲度最大的拐點開始,依次刪除不符合上述要求的臨近關(guān)鍵點,最終得到含有m個關(guān)鍵點的關(guān)鍵集。按上述方法依次求出所有閉合輪廓的關(guān)鍵點集。如圖1(b)所示為“快”字的輪廓放大圖,輪廓上的點為檢測出的關(guān)鍵點。
圖1 輪廓關(guān)鍵點提取
2.3 Bezier曲線擬合輪廓
相鄰兩個關(guān)鍵點以及它們之間的所有輪廓點組成一條輪廓段,一個閉合輪廓關(guān)鍵集的m個拐點將閉合輪廓劃分為m條輪廓段,每一條輪廓段都可以用Bezier曲線來擬合。Bezier曲線能夠根據(jù)控制點的坐標繪制出的一條平滑的矢量曲線。用Bezier曲線擬合輪廓段,要先確定其控制點。本文采用三次貝塞爾曲線,表示為:Q(t)=(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3
(4)
其中,P0、P1、P2和P3分別表示三次貝塞爾曲線的四個控制點,P0和P3為曲線段的起點和終點,t(0≤t≤1)為控制參數(shù),t=0時為起始點,t=1時為終止點。取關(guān)鍵點集中兩個距離最近的點對,作為Bezier曲線的起始點和終止點,還需計算另外兩個控制點,即P1和P2的坐標。以Bezier曲線上所有的點與待擬合輪廓段上的對應(yīng)點距離之和最小時,貝塞爾曲線最接近待擬合曲線,即所求P1和P2應(yīng)該使下式S最小[11]:
(5)
其中,ti=(i-1)/(k-1),k為輪廓段上點的個數(shù),Qi為輪廓段上第i個點,Q(ti)為Bezier曲線上的對應(yīng)點。根據(jù)定義,可知P0=Q1,P3=Qk。任意取被擬合的輪廓上的兩輪廓點,比如取三分之一處(即t=1/3)的點P1,三分之二處(即t=2/3)的點P2,代入式(4)求出相應(yīng)的P1和P2。變化t值,再取兩個點對,計算式(5)的S值。能使S最小的P1和P2為所要求Bezier曲線的控制點。同理可繪制出控制點集中其他點對的擬合曲線,最終書法字輪廓用Bezier曲線繪制,達到輪廓矢量化目的。矢量化的書法字輪廓放大時不再有鋸齒型。
用兩個不同風格的書法字在匹配相應(yīng)點對時,需要它們的大小在同一個量級上。但掃描得到的書法字,有的來自小字碑拓,有的來自大字帖,同一個字大小不相同。為了能進行點對匹配,進而根據(jù)匹配的點對做合成,需要將書法字的大小歸一化。本文統(tǒng)一將輪廓圖像調(diào)整為128×128像素大小,如圖2所示。
圖2 貝塞爾曲線擬合書法字輪廓
得到了書法字輪廓之后,還需填充輪廓包圍區(qū)域才能形成一個完整的書法字。傳統(tǒng)的區(qū)域填充算法有掃描線填充算法[12]、種子填充算法[13]、邊填充算法[14]等。針對書法字輪廓的特點,本文提出一種基于邊界跟蹤的掃描線填充算法。
由于提取的書法字輪廓可能形成多個封閉區(qū)域,可分別判斷每一輪廓的填充區(qū)域,然后在同一背景上先填充外輪廓,再用內(nèi)輪廓覆蓋,完成填充。因為每一個輪廓塊是一個單連通閉合區(qū)域,可以通過邊界點判斷出填充區(qū)域。對某一封閉輪廓,首先用上文所述方法順時針跟蹤輪廓點,得到輪廓點的有序序列。設(shè)當前填充點的橫坐標為s(初始時令s=-1),填充的終點橫坐標為e;當前輪廓點為Pi(xi,yi),其下一個和上一個輪廓點分別為Pi+1(xi+1,yi+1)和Pi-1(xi-1,yi-1);按從上到下、從左到右的順序遍歷輪廓上的每一個像素點,按以下規(guī)則操作:
1) 若s=-1,且yi+1≤yi 2) 若s≠-1,且yj-1 3) 若不滿足前兩條,則繼續(xù)向后遍歷。 遍歷完所有的點后,完成該輪廓塊的填充。當填充完所有的輪廓塊,就得到了一個完整的書法字。如圖3所示。 圖3 書法字輪廓的填充 合成中間風格書法字的關(guān)鍵是如何將兩個書法字的關(guān)鍵輪廓點一一對應(yīng)起來,即輪廓點的匹配。輪廓點的匹配主要分為三個步驟:1) 輪廓塊的匹配,以輪廓塊作為合成的單元;2) 對應(yīng)輪廓塊上關(guān)鍵點對的匹配;3) 對應(yīng)輪廓段上非關(guān)鍵輪廓點對的匹配。 所有輪廓點配對完成后,以其中一個字的輪廓點為源,另一個字的輪廓點為目標。受Bezier曲線生成算法中設(shè)置參數(shù)t的啟發(fā),本文設(shè)置一個類似的參數(shù)ρ,當ρ=0時得到的是源書法字,當ρ=1時得到的是目標書法字,當0<ρ<1時為中間風格書法字,既非源書法字,也非目標書法字。 4.1 輪廓塊的匹配 同一個字可以有多種風格,但不管風格如何改變,整體的筆畫或結(jié)構(gòu)需要保持一致。各筆畫或結(jié)構(gòu)的對應(yīng)在形態(tài)上具體表現(xiàn)為輪廓塊的對應(yīng),兩個相對應(yīng)輪廓塊上應(yīng)該有足夠多的相似點。 分別來自源書法字和目標書法字的兩個點,若能構(gòu)成點對,則它們存在相似的“鄰居關(guān)系”。所謂“鄰居關(guān)系”,是指它們和周圍點的位置關(guān)系可用周圍領(lǐng)域內(nèi)其他輪廓點的數(shù)量來表示。本文采用文獻[8]的方法,以書法字輪廓上一點為中心,分別取半徑r=16,r=32,r=64和r=128為半徑畫圓,與8個方向的直線相交形成32個扇形區(qū)域。記pi為來自源書法字第i個輪廓點,qj為來自目標書法字的第j個輪廓點,pik表示點pi在第k個扇面內(nèi)的輪廓點數(shù)量(k=1,2,…,32),S(pi,qj)表示兩點的相似程度: (6) S(pi,qj)值越小,兩點越相似。通過式(6)可得到源書法字上某輪廓點p在目標書法字輪廓上的最相似點為q,若能同時滿足q在源書法字輪廓上的最相似點也為p,則認為這兩點是對應(yīng)點。設(shè)兩書法字的輪廓塊數(shù)分別為m和n,Ai和Bj(i=1,2,…,m;j=1,2,…,n)是分別來自兩書法字的兩個不同輪廓塊,a和b分別為兩輪廓塊上輪廓點的個數(shù),N(Ai,Bj)為兩輪廓塊上的對應(yīng)點數(shù)量,當N(Ai,Bj)滿足:N(Ai,Bj)=max[N(Ak,Bl):k=1,2,…,m;l=1,2,…,n] (7) (8) 則認為兩輪廓塊Ai和Bj為對應(yīng)的輪廓塊。 4.2 關(guān)鍵點的匹配 對應(yīng)輪廓塊匹配完成后,若兩字輪廓塊數(shù)量相同且一一對應(yīng),則可直接進行關(guān)鍵點的匹配。點對的匹配,不是孤立進行的,而是需要保持原有的先后約束關(guān)系。因此,以式(6)為度量找到匹配值最小的點還需滿足與原有輪廓點的鄰居關(guān)系,即原有的先后順序,以保持各自在字輪廓上與前后點的位置關(guān)系不變。 設(shè)對應(yīng)兩輪廓塊上關(guān)鍵點的數(shù)量分別為n和m,且n≤m,關(guān)鍵點序列分別為Pn和Qm,對應(yīng)關(guān)鍵點對序列Dn初始時為空,按以下方法尋找對應(yīng)關(guān)鍵點: 1) 首先根據(jù)式(6)找出Pn上一點p與其在Qm上的相似點q使S(pi,qj)最小,將p和q作為第一個對應(yīng)關(guān)鍵點對,記作p1和q1,加入Dn。以p1和q1為起點,按順時針方向?qū)n和Qm記為(p1,p2,…,pn)和(q1,q2,…,qm),再按此順序?qū)ふ移ヅ潼c對。 2) 以p1為起點,按順序遍歷關(guān)鍵點序列集Pn。設(shè)當前點pi的相似點為qj,Dn中最后一對關(guān)鍵點對中的一點為qk∈Qm。若S(pi,qj)<φ(φ為經(jīng)驗閾值),則認為pi和qj相似度太低,將該點對從Dn中刪除。繼續(xù)遍歷,若j 3) 再次遍歷序列集Pn,若其第i個點pi不在集合Dn中,則找Dn中離pi最近的兩個點pa和pb(a 4) 以同樣的方式遍歷序列集Qm,若存在點qj不在集合Dn中,做與步驟3類似處理。 通過以上步驟,集合Dn中將有t對有序關(guān)鍵點對,將兩個對應(yīng)的輪廓塊分別分成t段。如圖4所示,是兩個“之”字的對應(yīng)點對的輪廓塊:“之”字第一個輪廓塊(構(gòu)成一個“點”)上有6個點對,分別標記為1~6;第二個輪廓塊上有17個關(guān)鍵點對;同一個點對使用了相同序號。 圖4 關(guān)鍵點匹配示例:編號相同者為相應(yīng)點對 有時兩字風格相差很大,可能有粘連或斷筆,這使得同一個字不同書法字的輪廓塊數(shù)量不一樣。這種情況下,上述方法失效。這種情況下,需要通過人工的手段指定或修正部分關(guān)鍵點,使輪廓塊能夠相互對應(yīng),以便達到良好效果。 4.3 非關(guān)鍵輪廓點的匹配 對應(yīng)輪廓塊上的對應(yīng)關(guān)鍵點將各自分割成若干一一對應(yīng)的輪廓段,這些輪廓段可由一系列以關(guān)鍵點為頭尾的序列表示。與關(guān)鍵點的匹配類似,在尋找對應(yīng)非關(guān)鍵輪廓點時也要遵循序列的前后關(guān)系。所不同的是,由于關(guān)鍵點有決定整個書法字結(jié)構(gòu)的左右,因此需要嚴格一一對應(yīng),而非關(guān)鍵輪廓點在合成時是主要形變的部分,可以一對多或多對一,也不要求精準配對。 設(shè)對應(yīng)兩輪廓段上非關(guān)鍵輪廓點的數(shù)量分別為n和m,且n≤m,非關(guān)鍵輪廓點對應(yīng)序列分別為Pn={p1,p2,…,pn}和Qm={q1,q2,…,qm}。記a=?m/n」,b=m%n,a=n/(b+1),其中a和b為正整數(shù),k為正實數(shù)。從p1開始遍歷Pn,其中的每個點都從q1按順序?qū)?yīng)上Qm中的a個或a+1個點。對于Pn中的某一點pi: 1) 若i=?k×c」,其中c為正整數(shù)且 ,則pi對應(yīng)Qm序列上a+1個點; 2) 反之,pi對應(yīng)Qm上a個點。 根據(jù)以上規(guī)則遍歷Pn上所有的點即可完成非關(guān)鍵輪廓點的匹配。 4.4 輪廓的合成與填充 輪廓的合成實質(zhì)上就是根據(jù)已有的n個對輪廓點對集合Dn,通過某種映射得到新的輪廓點集Pn。其中,軸平移便是最簡單的一種。設(shè)對應(yīng)點對pi和pj的坐標分別為(xi,yi)和(xj,yj),則新的輪廓點p的坐標為: (x,y)=[xj+(xi-xj)×ρ,yj+(yi-yj)×ρ] (8) 其中0<ρ<1,ρ越大,p越接近pi,反之則越接近pj。通過調(diào)整ρ的值,便可控制合成的輪廓在兩種不同風格間變換。 為確保合成輪廓為閉合曲線,先用前面第2節(jié)所述的曲線擬合方法將合成輪廓矢量化,再用第3節(jié)所述的填充方法對輪廓進行填充,便可得到所需的書法字。如圖5和圖6所示分別為兩個“世”字和“之”字在取不同值時合成效果。ρ=0和ρ=1時分別是源書法字與目標書法字,其他的ρ取值合成的是介于這兩者風格之間的新風格書法字。ρ的取值越靠近0,所合成的新字圖像風格與源書法字越相似;ρ的取值越靠近1,所合成的新字圖像風格與目標書法字越相似。 圖5 “世”字的合成效果 圖6 “之”字的合成效果 本文探討了一種基于輪廓擬合的中間風格書法字合成方法,通過直接控制輪廓點在兩個書法字對應(yīng)輪廓點之間的位置,合成出一種中間風格的書法字輪廓,避免了提取筆畫以及建立風格語義與輪廓形狀之間映射關(guān)系的復雜過程;合成以貝塞爾曲線擬合的輪廓段位基本單位,可獲得矢量閉合輪廓,克服了離散輪廓點不連續(xù)的缺點;最后以輪廓塊為單位,填充獲得完整的書法字。 此方法易于實現(xiàn),可用于書法字相關(guān)藝術(shù)設(shè)計等應(yīng)用中,同時也為書法字合成相關(guān)研究提供了有價值的參考。進一步的工作是研究如何降低噪聲的影響,以獲取更加自然的書法字輪廓;使用不同字的輪廓塊合成新的書法字;建立書法墨跡模型,還原更真實的書法字。 [1] China-America Digital Academic Library[OL].[2016-03-10]. http://www.cadal.zju.edu.cn/ NewCalligraphy/. [2] Xu S, Jiang H, Jin T, et al. Automatic Generation of Chinese Calligraphic Writings with Style Imitation[J]. IEEE Intelligent Systems, 2009, 24(2):44-53. [3] Yu K, Wu J Q, Zhuang Y T. Style-consistency calligraphy synthesis system in digital library[C]//Joint International Conference on Digital Libraries, Jcdl 2009, Austin, Tx, Usa, June. DBLP, 2009:145-152. [4] Shi C, Xiao J G, Jia W H, et al. Automatic Generation of Chinese Character Based on Human Vision and Prior Knowledge of Calligraphy[M]// Natural Language Processing and Chinese Computing. Springer Berlin Heidelberg, 2012:23-33. [5] 夏洋. 基于本體模型的特定風格書法字合成研究[D]. 杭州: 浙江大學, 2014. [6] Dong J, Xu M, Zhang X J, et al. The Creation Process of Chinese Calligraphy and Emulation of Imagery Thinking[J]. IEEE Intelligent Systems, 2008, 23(6):56-62. [7] 章夏芬. 中國數(shù)字書法檢索與作品真?zhèn)舞b別的研究[D]. 杭州: 浙江大學, 2006. [8] 章夏芬, 莊越挺, 魯偉明, 等. 根據(jù)形狀相似性的書法內(nèi)容檢索[J].計算機輔助設(shè)計與圖形學學報,2005(11):2565-2569. [9] Canny J. A computational cpproach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6). [10] 尚振宏, 劉明業(yè). 基于歐氏距離的拐點檢測算法[J].計算機應(yīng)用,2004,24(10):88-91. [11] 張俊松. 書法碑帖圖像去噪、輪廓擬合及紋理建模研究[D]. 杭州:浙江大學,2007. [12] Pelagotti A, Piuri V. Neural spectral composition for function approxi-mation[C]//Proc of ICNN, Houston, TX.June 9-12,1997,2:860-864. [13] 孫家廣, 楊長貴. 計算機圖形學[M]. 北京:清華大學出版社, 1998. [14] 王琪, 王麗萍, 陳凱迪.一種簡單的圖案填充算法[J].微計算機信息, 2005,21(9):116-117. CALLIGRAPHIC CHARACTER SYNTHESIS BASED ON CONTOUR FITTING Shi Lei Han Dezhi*Zhang Xiafen Bi Kun (CollegeofInformationEngineering,ShanghaiMaritimeUniversity,Shanghai201306,China) Limited to the current limited number of calligraphy resources, calligraphy database does not necessarily have the user needs the style of calligraphy images. To solve this problem, a new method of synthesizing a series of calligraphic characters with intermediate style based on two calligraphic outline is proposed. First, the contours of two sample words with different styles of the same word are extracted, then the contours are fitted by Bezier curve, then the vectorized contour words are normalized to obtain the comparability. Then, the contour points of the two calligraphic words are found by the shape matching method, and the key points are taken as the control points to synthesize the calligraphic vector outline with the intermediate style. Finally, fill the outline with the fill algorithm to get a new style of calligraphy. Contour fitting Fill algorithm Calligraphic character synthesis 2016-04-29。國家自然科學基金項目(61373028,61070154)。石雷,碩士生,主研領(lǐng)域:數(shù)字圖像處理。韓德志,博士后。章夏芬,講師。畢坤,講師。 TP391 A 10.3969/j.issn.1000-386x.2017.06.0104 新風格書法字合成
5 結(jié) 語