專利名稱::一種基于軌跡分析的手寫漢字的美化方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于模式識別與人工智能
技術(shù)領(lǐng)域:
,特別是涉及一種對計算機(jī)用戶自由手寫輸入計算機(jī)的文字圖像進(jìn)行美化處理,使得顯示出書法美化效果的方法。
背景技術(shù):
:中國毛筆已經(jīng)有數(shù)千年的歷史,中國書法被認(rèn)為是中國繪畫的最高形式。手寫體漢字比印刷體漢字更靈活、更有原創(chuàng)性,人們甚至認(rèn)為手寫字跡能反映一個人的性格、情緒和文化修養(yǎng)等個人特征。這使得手寫體漢字成為一些亞洲國家生活和文化中不可分割、不可替代的藝術(shù)形式。近年來個性化的文字處理已開始受到關(guān)注,方正集團(tuán)發(fā)布了"徐靜蕾字體",另外也有一些專利側(cè)重與漢字美化方面。專利200810060767.8號專利《一種漢字書寫形態(tài)美觀度的計算機(jī)評估方法》給出了一種計算機(jī)對漢字書寫心態(tài)美觀度的評估方法。這種方法只是對利用圖像處理和人工智能對漢字書寫進(jìn)行評價,并沒有對字體進(jìn)行美化處理。專利200810121201.1號專利《一種手寫體漢字的計算機(jī)生成與美化方法》公開了一種手寫體漢字的計算機(jī)生成與美化方法。該方法只是簡單的利用線性插值,得到新的手寫字體,所以美化效果方面還有待提高。專利200810028916.2號專利《一種手寫漢字美化方法》提出一種手寫漢字美化方法,在保留書寫者書寫風(fēng)格基礎(chǔ)上,對其手寫漢字進(jìn)行美化的手寫軌跡處理方法。該方法利用基于速度的書法筆畫模擬、筆畫匹配以及模版融合,達(dá)到美化書寫軌跡的目的。但是由于字體眾多,并沒有針對特定字體來進(jìn)行美化,雖然保留了個人風(fēng)格,但是美化的目標(biāo)并沒有達(dá)到特定字體的效果。
發(fā)明內(nèi)容本發(fā)明提出了一個基于軌跡分析的手寫漢字美化方法。這一美化方法在用戶書寫軌跡的層面上進(jìn)行美化,消除了對用戶輸入的限制,能夠允許用戶在最大程度上自由地輸入任意的軌跡和筆畫。本發(fā)明包括如下技術(shù)特征一種基于軌跡分析的手寫漢字的美化方法,其特征在于包括如下步驟A、從輸入設(shè)備捕捉用戶的輸入軌跡;B、進(jìn)行重采樣處理;C、獲得采樣均勻的原始軌跡樣本;D、對原始軌跡樣本進(jìn)行骨架變換;E、在變換后的骨架上使用模擬筆刷進(jìn)行筆畫渲染,得到最終的美化結(jié)果。進(jìn)一步的,所述步驟D具體為Dl、對輸入樣本進(jìn)行傾斜變換,使得變換后的字體更靠近行楷字體的形狀;D2、將傾斜變換后的樣本進(jìn)行筆畫延伸及連筆變換,模擬真實書法中的拖筆效果;D3、利用B樣條曲線實現(xiàn)軌跡擬合,進(jìn)行草書變換,完成字體的美化處理。上述步驟具體為所述步驟D1中的傾斜變換是縱向拉伸軌跡長寬比例和向右上傾斜樣本點軌跡;所述步驟D2中的筆畫延伸及連筆變換,先是根據(jù)筆畫的類型、相對位置、角度信息以及用戶的選擇參數(shù),確定筆畫頭尾延伸的端點;然后根據(jù)延伸端點規(guī)則進(jìn)行頭尾延伸處理,最后通過中點迭代方法將連線逼近于光滑弧線。所述步驟D3中的草書變換,采用根據(jù)筆畫復(fù)雜度大小選擇不同的控制點數(shù)量的方法進(jìn)行B樣條曲線擬合,然后對樣本點軌跡序列中每一筆畫進(jìn)行B樣條擬合插值,得到相應(yīng)的草書化變換結(jié)果。更進(jìn)一步的,所述步驟E具體為El、利用橢圓來模擬生成毛筆書法風(fēng)格的筆畫形狀,在軌跡曲線上選用不同的筆鋒橢圓來代表該點上的筆畫寬度、書寫方向以及筆畫走勢屬性;E2、筆畫輪廓插值將筆畫分成從細(xì)變粗、從粗變細(xì)以及兩頭大小相同分別對橢圓的長軸,短軸以及角度進(jìn)行插值;E3、筆畫生成利用橢圓的反走樣處理,完成字體的美化處理。上述步驟具體為所述步驟El中所述橢圓形狀Et={at,bt,"t}是Qt和et的函數(shù),已知軌跡曲線t處的軌跡點坐標(biāo)Qt=(xt,yt)以及該處的軌跡曲線切線方向9t,則Et=Et(Qt,et)={at(Qt,et),bt(Qt,et),"t(Qt,9tM,其中,"t(Qt,9》是筆鋒橢圓主軸方向,表征筆鋒的書寫方向;at(Qt,9t)是筆鋒橢圓主軸大小,表征筆畫在該處的筆畫寬度;bt(Qt,et)是次主軸大小,主長度bt與主軸長度成一比例因子關(guān)系kt,bt(Qt,et)=kt*at(Qt,et);當(dāng)筆桿傾斜方向與書寫方向相同時,筆鋒橢圓在書寫方向上有延展趨勢,即短軸較長,比例因子kt較大;而當(dāng)筆桿傾斜方向與書寫方向相反時,筆鋒橢圓在書寫方向上被壓縮,短軸縮短,kt較?。凰霾襟EE2中,通過筆畫標(biāo)記算法,對筆畫軌跡中的起點、終點以及轉(zhuǎn)折點進(jìn)行標(biāo)記;對于筆畫軌跡中的其它點,采用插值的方法計算其筆鋒形狀參數(shù)at,at的插值計算方法根據(jù)筆畫外輪廓的走向,分成筆畫段從粗變細(xì)、筆畫段從細(xì)變粗、筆畫段兩端大小相同三種不同的情況分別進(jìn)行插值處理;所述步驟E3筆畫生成具體為設(shè)橢圓中心為(x。,y。),a和b分別為長半軸和短半軸,"為主軸與x軸的夾角,設(shè)(x,y)是屏幕上的象素點;首先計算點(x,y)到點(x。,y。)的距離d以及經(jīng)過(x。,y。)與(x,y)的直線與橢圓主軸方向間的夾角0"""g(^T^)一W.根據(jù)橢圓形定義方程可以推算得出,在與主軸方向夾角為e的方向上,橢圓的半徑長度為0=/2M丄w2/]如果(x,y)位于橢圓內(nèi),即cKd。-0.5,則(x,y)為完全填充Vfi^sin+Vcos'e點,灰度值為0;如果(x,y)在橢圓上,即d。-0.5《d<d。+0.5,令e=d-(d。-0.5),則(x,y)灰度值為255e;當(dāng)d>d。+0.5,即(x,y)在橢圓外,(x,y)灰度值為255,即不進(jìn)行填充。本發(fā)明提出了基于軌跡分析的手寫漢字美化方法的基本系統(tǒng)框架,主要包括捕獲用戶輸入、預(yù)處理、骨架變換以及筆畫渲染四個模塊。其中,骨架變換和筆畫渲染是基于軌跡分析的手寫漢字美化算法研究的重點和難點。骨架變換的目的是通過軌跡分析以及適用規(guī)則,對筆畫的骨架結(jié)構(gòu)進(jìn)行美化調(diào)整,而筆畫渲染通過分析筆畫間的聯(lián)系以及筆畫本身的形狀特點生成書法風(fēng)格的筆畫輪廓。實驗結(jié)果表明,本文提出的基于軌跡分析的手寫漢字美化方法系統(tǒng)框架能夠?qū)ψ杂蓵鴮懙娜我廛壽E進(jìn)行書法美化,具有較好的美化效果。圖1為本發(fā)明基于軌跡分析的手寫漢字美化方法流程圖。具體實施例方式本發(fā)明主要探索行楷風(fēng)格的手寫漢字美化及其規(guī)則設(shè)計,提出了一個基于軌跡分析的手寫漢字美化方法。這一美化方法在用戶書寫軌跡的層面上進(jìn)行美化,消除了對用戶輸入的限制,能夠允許用戶在最大程度上自由地輸入任意的軌跡和筆畫,整體流程圖如如圖l所示。如圖l,本發(fā)明包括如下步驟A、從輸入設(shè)備捕捉到用戶的輸入軌跡;B、進(jìn)行重采樣處理;C、獲得采樣均勻的原始軌跡樣本;D、對原始軌跡樣本進(jìn)行骨架變換;E、在變換后的骨架上使用模擬筆刷描繪出每一筆畫輪廓形狀,進(jìn)行筆畫渲染,得到最終的美化結(jié)果。具體來說,系統(tǒng)首先從鼠標(biāo)、觸摸屏等輸入設(shè)備捕捉到用戶的輸入軌跡,再對輸入軌跡進(jìn)行Bezier曲線擬合、重采樣處理,取得采樣均勻的原始軌跡樣本。用戶通過GUI調(diào)整一系列美化參數(shù),用以控制輸出結(jié)果的變換程度、筆畫形狀等。然后,系統(tǒng)的骨架變換模塊根據(jù)美化參數(shù)以及系統(tǒng)預(yù)定義的變換規(guī)則,對原始軌跡樣本進(jìn)行變換;最后筆畫渲染模塊在變換后的骨架基礎(chǔ)上使用模擬筆刷描繪出每一筆畫輪廓形狀,得到最終的美化結(jié)果。以下分別對本發(fā)明的關(guān)鍵點步驟D和步驟E進(jìn)行說明。步驟D步驟D骨架變換模塊是基于軌跡分析的手寫漢字美化方法中最重要的模塊之一。骨架變換的目的是對用戶輸入的軌跡進(jìn)行整體結(jié)構(gòu)上的調(diào)整,使用戶輸入在結(jié)構(gòu)、筆畫間的關(guān)系處理上具有更好的外觀特性。設(shè)采樣均勻的樣本點序列為9=[Q。,QpA,QJT,書寫軌跡的骨架變換可以寫為樣本點序列Q的一個函數(shù)/(0=(/,/2A/r)(0(l)其中,^,f2,A,^是接下來要討論的針對特定的目標(biāo)風(fēng)格的變換規(guī)則組,也就是說,每一個變換規(guī)則定義了一個關(guān)于樣本點序列Q的函數(shù)。通過實現(xiàn)這些函數(shù),完成對樣本點序列的美化變換。對于不同目標(biāo)風(fēng)格的骨架變換,相應(yīng)的骨架變換規(guī)則會有所不同,因此互不通用。本發(fā)明針對行楷為目標(biāo),可將骨架變換的步驟依次劃分為Dl整體結(jié)構(gòu)傾斜變換fint;D2筆畫延伸及連筆變換fste;D3草書變換fsty。步驟Dl、整體結(jié)構(gòu)傾斜變換整體結(jié)構(gòu)調(diào)整的目的是通過調(diào)整用戶輸入的整體軌跡的長、寬、位置、角度等屬性,使樣本序列在整體比例和結(jié)構(gòu)上符合目標(biāo)風(fēng)格的一般特性。行楷字體風(fēng)格是長寬比較大,整體外部輪廓修長;且縱向筆畫豎直,橫向筆畫微向右上傾斜。從算法實現(xiàn)的角度來看,為賦予樣本點序列以上特性,所需步驟可描述為縱向拉伸軌跡長寬比例;向右上傾斜樣本點軌跡。綜上所述,對樣本點Qi=(Xi,y》,變換后的樣本點Q'i=fint(Qi)=(x'i,y'》=(Xi,(y,(Xi-Xniid)tg9-y邁JA+y邁J(2)其中(Xniid,ymid)為輸入?yún)^(qū)域的中心點,9和A分別是傾斜和縱向拉伸系數(shù)。f旭寫為矩陣形式,有<formula>formulaseeoriginaldocumentpage7</formula>經(jīng)過變換后,樣本點序列以輸入?yún)^(qū)域的中心點為基準(zhǔn)點,向右上方傾斜角度e,在縱向拉伸A倍。事實上,樣本點軌跡在經(jīng)過向右上傾斜的變換后,其縱向長度會相應(yīng)地有所增加(增量為軌跡總寬度的tge倍)。實驗發(fā)現(xiàn)當(dāng)e=io°-15°,A二i.o的時候,整體結(jié)構(gòu)變換能夠達(dá)到最好的美化效果。D2、筆畫延伸及連筆變換筆畫延伸及連筆變換以筆畫為單位對樣本點軌跡進(jìn)行進(jìn)一步變換,利用相鄰筆畫間的方向、位置信息,使筆畫顯得更自然、流暢,模擬真實書法中的拖筆效果。行楷風(fēng)格的筆畫延伸變換規(guī)則要求如下每一筆畫的尾端反映下一筆畫書寫的趨勢;每一筆畫的起始端反映上一筆畫的延續(xù);用一條直線把相鄰筆畫的頭尾相接,整個筆畫段應(yīng)該是光滑(可導(dǎo))的;每一筆畫的起始、主體、結(jié)尾各部分平滑相連。針對以上行楷書法風(fēng)格筆畫關(guān)聯(lián)性的要求特點,本文提出了筆畫頭尾延伸變換的筆畫美化方法,模擬行楷書法中的"拖筆"現(xiàn)象,即對筆畫的頭部和尾部進(jìn)行延伸,從而加強(qiáng)相鄰筆畫間的關(guān)聯(lián)性。這一變換方法包括兩個步驟筆畫延伸端點的確定和延伸筆段的形成。首先,系統(tǒng)要根據(jù)筆畫的類型、相對位置、角度信息以及用戶的選擇參數(shù),確定筆畫頭尾延伸的端點。定義Sl、s2分別是第一筆和第二筆的基本筆畫類型;apa2第一筆和第二筆的連接角度;d是第一筆末端與第二筆起始點之間的連線長度;eXl是第一筆尾部延伸的最長距離;e^是第二筆頭部延伸的最長距離。如圖3所示。實驗和觀察發(fā)現(xiàn)在某些情況下添加筆畫的頭尾延伸部分可能使筆畫混淆或變形,反而破壞筆畫美化的效果。因此,在進(jìn)行筆畫頭尾延伸變換時,對筆畫延伸部分的長度、是否進(jìn)行延伸等進(jìn)行總結(jié),得到延伸端點計算規(guī)則,具體規(guī)則如下表l所示。<table>tableseeoriginaldocumentpage7</column></row><table>然后,生成筆畫延伸筆段。根據(jù)筆畫延伸系數(shù)所給定的筆畫延伸端點,在最簡單的情況下,只需要在相鄰筆畫的頭部和尾部添加一段直線使之相連,但這樣的方法所生成的筆畫線條是非常生硬和不美觀的。根據(jù)弧線逼近原理(在外接圓中,多邊形的邊數(shù)越大,它就越逼近于外接圓),為此提出了"中點迭代"的算法,此方法將筆畫延伸與相鄰筆畫相交,找尋中點,然后下次迭代時,以中點為起點,找其與相鄰筆畫相交線的中點,依次迭代,最終逼近于一條光滑的弧線。D3、草書化變換草書化變換是骨架變換的最后一個步驟,草書程度是相對于書寫的規(guī)范程度而言的。草書程度越大,書寫軌跡顯得越流暢,也更"潦草"。在筆畫軌跡上,草書程度集中體現(xiàn)在筆畫轉(zhuǎn)折處的銳角程度或曲率值的大小。轉(zhuǎn)折角度越明顯,曲率值越大,則草書程度越小。在用戶輸入較為正規(guī)的漢字軌跡時,通過前面的整體結(jié)構(gòu)調(diào)整、筆畫延伸變換和連筆形成,樣本點序列已基本具有行楷書法的骨架風(fēng)格。但筆畫轉(zhuǎn)折角度比較明顯,較偏向于規(guī)范的書寫。為了調(diào)整樣本點軌跡的草書程度,需要平滑轉(zhuǎn)折角度,增強(qiáng)軌跡的流暢性。本文采用了B樣條曲線來實現(xiàn)樣本點軌跡的草書化變換。B樣條曲線方程定義為P(f)=tPiWa(0,八-。(4)其中,Pi(i=O,l,...,n)是控制多邊形的頂點,Ni,k(t)(i=0,1,...,n)稱為k階(k-l次)B樣條基函數(shù),其中每一個稱為B樣條,它是一個稱為節(jié)點矢量,即非遞減的參數(shù)t序列T:t?!禴《A《tn+k所決定的k階分段多項式,也即為k階(k-l次)多項式樣條。在具體實現(xiàn)上,系統(tǒng)對樣本點軌跡的每一筆畫進(jìn)行一個B樣條曲線的擬合。擬合時使用的控制點數(shù)量應(yīng)該自適應(yīng)于該筆畫的特性。因此,本文采用根據(jù)筆畫復(fù)雜度大小選擇不同的控制點數(shù)量的方法,來進(jìn)行B樣條擬合。設(shè)筆畫上拐點(不包括筆畫起止點)數(shù)目為m,那么,B樣條擬合所使用的控制點數(shù)量為n=2(m+l)-k(5)其中,k是一個可調(diào)整的參量,k的取值范圍是[p-2m-l,M/1.5-2(m+l)],M為筆畫軌跡的采樣點數(shù)目。通過以上公式計算適合的控制點個數(shù),對樣本點軌跡序列中每一筆畫進(jìn)行B樣條擬合插值,得到相應(yīng)的草書化變換結(jié)果。實驗結(jié)果如圖6所示。從圖中可以看出,所提出的基于B樣條擬合插值的草書化變換方法能夠有效地平滑樣本點軌跡,形成美觀、流暢的書寫風(fēng)格,并具有良好的用戶可控性。步驟EEl、筆畫標(biāo)記本系統(tǒng)使用筆鋒模擬的算法生成毛筆書法風(fēng)格的筆畫形狀。假設(shè)毛筆筆刷是一個理想的圓錐形,那么,筆鋒的形狀可以近似地看作一個橢圓。隨著筆畫書寫的方向、力度和筆桿轉(zhuǎn)向的改變,代表筆鋒的橢圓形在軸長、長短軸比例以及主軸方向上均會隨之改變。設(shè)一個筆畫的樣本點軌跡為Q(t),0《t《l,在t二ti處筆鋒橢圓E(ti)以點Q(t》為中心,它的形狀由三個變量定義E(t)={at,bt,wt}(6)其中,at為筆鋒橢圓主軸(x軸)長度;bt為筆鋒橢圓次軸(y軸)長度;"t為筆鋒橢圓的主軸與x軸的夾角。在軌跡曲線Q(t),0《t《1上的t點處,筆鋒橢圓Et={at,bt,"t}代表著該點上筆畫寬度、運筆方向以及筆畫走勢等屬性。如何決定筆鋒橢圓形狀的算法,對筆畫形狀的生成有著重要的影響。本算法通過筆畫標(biāo)記模塊標(biāo)記軌跡Q(t)上特殊點的筆鋒橢圓形狀屬性值,然后使用插值方法得到筆畫軌跡其余點上的筆鋒形狀屬性值。設(shè)已知曲線t處的軌跡點坐標(biāo)Qt=(xt,yt)以及該處的軌跡曲線切線方向9t,則該處的橢圓形狀Et二{at,bt,"t}是Qt和9t的函數(shù),即Et=Et(Qt,et)={at(Qt,et),bt(Qt,9t),"t(Qt,9t)}(7)其中,at(Qt,et),bt(Qt,et),"t(Qt,et)的物理意義分別描述如下:筆鋒橢圓主軸方向"t(Qt,et)"t(Qt,et)是筆鋒橢圓的主軸旋轉(zhuǎn)角度,它的值表征著當(dāng)前筆鋒的書寫方向。因此,"t(Qt,et)隨著書寫方向的改變而改變。在一般情況下,"t(Qt,et)方向與書寫方向成90°角,S卩指向書寫軌跡的法線方向,此時,筆鋒橢圓的主軸長度即為筆鋒的寬度值的一半。而在一些特殊點上,如筆畫起始點、拐點處,根據(jù)行楷書法的筆畫書寫特點,可對"t(Qt,et)進(jìn)行適當(dāng)角度的傾斜,因此,在"t(Qt,et)的公式加入了一個可調(diào)的附加角度St,即,)-《+|+5,(8)舉例來說,在行楷書法中,在書寫每一筆的起始點時,落筆方向一般會向左傾斜一定角度(約3(T)。反映在筆鋒橢圓的特性上,即要在"t上添加一個30。的傾斜角,即",(G,'《)=《+f+f(如圖7所示)。筆鋒橢圓主軸大小at(Qt,9t)從直觀意義上來說,筆鋒橢圓的主軸長度at表征了筆畫在該處的寬度,它直接影響著筆畫外輪廓的形狀。在已確定"t的情況下,at定義為at(Qt,et)=Wt/Sin("t(Qt,et))(9)其中wt是該處的筆畫寬度。wt的確定與用戶選擇的筆畫寬度參數(shù)以及t的取值有關(guān),也與當(dāng)前筆畫與其前后相鄰筆畫的鄰接關(guān)系有關(guān),是一個比較復(fù)雜的過程。本算法根據(jù)各種不同的參數(shù)以及鄰接關(guān)系情況進(jìn)行了一系列規(guī)則的設(shè)計(如表2所示)。相較于真實的楷書書寫情況,這些規(guī)則仍顯得比較簡單。但在實驗中,這樣的規(guī)則系列基本上能夠較好地擬合流暢、美觀的筆畫輪廓,且能夠生動地體現(xiàn)筆畫的轉(zhuǎn)折和力度的改變。表2.筆畫寬度選擇規(guī)則<table>tableseeoriginaldocumentpage9</column></row><table>表2中,Pen—Width是一個可變的用戶參數(shù),表示筆鋒的最大寬度,用戶可通過圖形界面調(diào)整筆畫寬度的值。MiruStroke—Width表示筆畫最小寬度,是一個預(yù)定義的常量,系統(tǒng)選定Min_Stroke_Width=3。次主軸大小bt(Qt,et)筆鋒橢圓的次主軸(短軸)長度bt由主軸長度以及長短軸比例因子kt決定,即bt(Qt,et)=ktat(Qt,et)(10)筆鋒橢圓的長短軸比例kt與毛筆筆桿的傾斜角度有關(guān)[21]。當(dāng)筆桿傾斜方向與書寫方向相同時,筆鋒橢圓在書寫方向上有延展趨勢,即短軸較長,比例因子kt較大;而當(dāng)筆桿傾斜方向與書寫方向相反時,筆鋒橢圓在書寫方向上被壓縮,短軸縮短,kt較小。由于系統(tǒng)所針對的輸入設(shè)備是普通的鼠標(biāo)或觸摸屏,無法取得與筆桿旋轉(zhuǎn)角度有關(guān)的信息,因此kt設(shè)置如下在書寫拐點或轉(zhuǎn)折點時,筆桿旋轉(zhuǎn)方向傾向書寫方向的反方向,kt減??;在書寫非拐點筆段時,筆桿旋轉(zhuǎn)方向傾向書寫方向,kt增大。根據(jù)以上原則,可定義其中T是一個預(yù)定義的閾值,一般設(shè)為0.1。對于拐點位置t,kt三0.2。E2、筆畫輪廓插值通過筆畫標(biāo)記算法,筆畫軌跡中的拐點s。,...,Sn(包括起點、終點以及轉(zhuǎn)折點)進(jìn)行了標(biāo)記。對于筆畫軌跡中的其它點,使用插值的方法計算其筆鋒形狀參數(shù)at,"t以及K。其中,bt的插值計算方法如式(lO,ll)所示。"t的插值算法也與之相似。若軌跡曲線在[t-T,t+T]范圍內(nèi)存在拐點,則取與之最近的拐點處的"t。值為"t,否則^=《+f下面重點討論筆鋒橢圓主軸長度at的插值計算方法,也就是筆畫的外輪廓曲線的插值方法。設(shè)Qt二(xt,yt)是筆畫軌跡上的一個點,tG[Si,Sw),其中Si(0《i《n)是小于t的最大的拐點位置。顯然,筆畫軌跡在[Si,si+1)區(qū)間上可近似地看成一段直線段。此時,忽略筆鋒橢圓的旋轉(zhuǎn)角度"t以及次軸長度bt,筆畫外輪廓可分為三種不同的情況筆畫從細(xì)變粗、從粗變細(xì)以及兩頭大小相同。1、當(dāng)筆畫段從粗變細(xì)筆畫段從粗變細(xì)的情況一般出現(xiàn)在筆畫的結(jié)束處,可能是實際書寫的筆畫結(jié)束處或在頭尾延伸變換中所形成的尾部。假設(shè)把[Si,si+1)區(qū)間上的筆畫段軌跡近似地看成一段直線段,則筆畫段在骨架左右兩側(cè)的外輪廓曲線關(guān)于筆畫骨架軌跡對稱。不失一般性地,取骨架上側(cè)的外輪廓曲線進(jìn)行插值,以計算骨架采樣點上所對應(yīng)的筆畫寬度(如圖8所示)。實際書寫的筆畫結(jié)束筆段形狀與頭尾延伸所形成的尾部形狀稍有不同。實際書寫的筆畫結(jié)束筆段呈現(xiàn)具有弧線形狀的輪廓(如圖8二次函數(shù)插值曲線),而尾部延伸的輪廓形狀則呈現(xiàn)更為尖銳的夾角(如圖8線性函數(shù)插值曲線)。設(shè)拐點Si和si+1上的筆鋒橢圓分別為£Sj={、Ai,A蹄Aw=K+,,、,叭J,分別使用二次函數(shù)和線性函數(shù)々^(0對!2,,鄰(2^的連線進(jìn)行插值運算,其中&,&W具體定義為(11)<formula>formulaseeoriginaldocumentpage11</formula>A,若s,.^,為筆畫末端筆段,若s,.^為尾部延伸筆段(12)<formula>formulaseeoriginaldocumentpage11</formula>(13)<formula>formulaseeoriginaldocumentpage11</formula>(14)2、當(dāng)筆畫段從細(xì)變粗筆畫段從細(xì)變粗可以看成第一種情況的反過程。筆畫段從細(xì)變粗的情況一般出現(xiàn)在筆畫的開始,與上一筆畫有連筆或拖筆的情況,筆畫段的外輪廓為會呈現(xiàn)較尖銳的夾角形狀。因此,使用線性函數(shù)Cw(o對a,和^'的連線進(jìn)行插值運算,々^W具體定義為<formula>formulaseeoriginaldocumentpage11</formula>(15)3、當(dāng)筆畫段兩端大小相同筆畫段兩端大小相等的情況--般出現(xiàn)在筆畫的中間部分,此時,=a&。如果兩個相鄰拐點Si和si+1的主軸長度相同,把這一筆畫的輪廓曲線插值分為兩種情況處理。第一種情況,即曲線段Q(t)(Si《t<si+1)長度在一定的閾值范圍內(nèi),系統(tǒng)把曲線段Q(t)(Si《t<si+1)判定為短筆段,使用平行于筆畫段骨架的直線來對Si和Sw之間的輪廓進(jìn)行插值,即在這個筆段上筆畫寬度保持不變;第二種情況是曲線段Q(t)(Si《t<si+1)長度超過預(yù)定義的閾值范圍,則這個筆段是長筆段。注意到在行楷風(fēng)格的書法書寫長直筆畫時,在越接近拐點的地方,筆畫寬度越大,而離拐點越遠(yuǎn)筆畫寬度越小。因此采用具有下凹特性的曲線來對長筆段輪廓曲線進(jìn)行插值。綜上所述,對于筆畫段兩端大小相等的情況,插值函數(shù)&,^(0的定義為<formula>formulaseeoriginaldocumentpage11</formula><formula>formulaseeoriginaldocumentpage11</formula>(16)<formula>formulaseeoriginaldocumentpage11</formula>(17)<formula>formulaseeoriginaldocumentpage11</formula>E3筆畫生成由于計算機(jī)圖象的數(shù)字化特點,使得用計算機(jī)生成的圖形最終都是用離散的整數(shù)象素來顯示,而具有鋸齒或臺階狀外觀,這種由于低頻采樣不充分而造成的信息失真叫走樣(aliasing),借鑒采用Wu反走樣算法,其基本思想是設(shè)直線兩個端點為Oq,y》和(x2,y》,把|Xl_yi|和|x2_y2|較長的數(shù)軸為長軸,較短的數(shù)軸為短軸。沿著長軸方向前進(jìn)一個像素單位,在短軸方向與理想直線距離最近的有兩個像素,這兩個像素都點亮,但是這兩個像素對應(yīng)的顏色灰度值(強(qiáng)度)是不同的,距離遠(yuǎn)的像素灰度值小,距離近的像素灰度值大,但兩者灰度之和等于像素顏色的灰度值。根據(jù)這個思想,模擬生成毛筆書法風(fēng)格的橢圓反走樣畫法如下設(shè)橢圓中心為(x。,y。),a和b分別為長半軸和短半軸,"為主軸與x軸的夾角。設(shè)(x,y)是屏幕上的象素點。首先計算點(x,y)到點(x。,y。)的距離d以及經(jīng)過(x。,y。)與(x,y)的直線與橢圓主軸方向間的夾角e-^"g(7T^)一"根據(jù)橢圓形定義方程可以推算得出,在與主軸方向夾角為e的方向上,橢圓的半徑長度為0=/2-^如果(x,y)位于橢圓內(nèi),即cKd。-0.5,則(x,y)為完全填充點,灰度值為0;如果(x,y)在橢圓上,即d。-0.5《d<d。+0.5,令e=d-(d。-0.5),則(x,y)灰度值為255e;當(dāng)d>d。+0.5,即(x,y)在橢圓外,(x,y)灰度值為255,則不進(jìn)行填充。權(quán)利要求一種基于軌跡分析的手寫漢字的美化方法,其特征在于包括如下步驟A、從輸入設(shè)備捕捉用戶的輸入軌跡;B、進(jìn)行重采樣處理;C、獲得采樣均勻的原始軌跡樣本;D、對原始軌跡樣本進(jìn)行骨架變換;E、在變換后的骨架上使用模擬筆刷進(jìn)行筆畫渲染,得到最終的美化結(jié)果。2.根據(jù)權(quán)利要求1所述的基于軌跡分析的手寫漢字的美化方法,其特征在于所述步驟D具體為Dl、對輸入樣本進(jìn)行傾斜變換,使得變換后的字體更靠近行楷字體的形狀;D2、將傾斜變換后的樣本進(jìn)行筆畫延伸及連筆變換,模擬真實書法中的拖筆效果;D3、利用B樣條曲線實現(xiàn)軌跡擬合,進(jìn)行草書變換。3.根據(jù)權(quán)利要求2所述的基于軌跡分析的手寫漢字的美化方法,其特征在于所述步驟D1中的傾斜變換是縱向拉伸軌跡長寬比例和向右上傾斜樣本點軌跡;所述步驟D2中的筆畫延伸及連筆變換,先是根據(jù)筆畫的類型、相對位置、角度信息以及用戶的選擇參數(shù),確定筆畫頭尾延伸的端點;然后根據(jù)延伸端點規(guī)則進(jìn)行頭尾延伸處理,最后通過中點迭代方法將連線逼近于光滑弧線。所述步驟D3中的草書變換,采用根據(jù)筆畫復(fù)雜度大小選擇不同的控制點數(shù)量的方法進(jìn)行B樣條曲線擬合,然后對樣本點軌跡序列中每一筆畫進(jìn)行B樣條擬合插值,得到相應(yīng)的草書化變換結(jié)果。4.根據(jù)權(quán)利要求1所述的基于軌跡分析的手寫漢字的美化方法,其特征在于所述步驟E具體為El、利用橢圓來模擬生成毛筆書法風(fēng)格的筆畫形狀,在軌跡曲線上選用不同的筆鋒橢圓來代表著該點上的筆畫寬度、書寫方向以及筆畫走勢屬性;E2、筆畫輪廓插值將筆畫分成從細(xì)變粗、從粗變細(xì)以及兩頭大小相同分別對橢圓的長軸,短軸以及角度進(jìn)行插值;E3、筆畫生成利用橢圓的反走樣處理,完成字體的美化處理。5.根據(jù)權(quán)利要求4所述的基于軌跡分析的手寫漢字的美化方法,其特征在于所述步驟El中所述橢圓形狀Et={at,bt,"t}是Qt和9t的函數(shù),已知軌跡曲線t處的軌跡點坐標(biāo)Qt=(xt,yt)以及該處的軌跡曲線切線方向9t,則Et=Et(Qt,et)={at(Qt,et),bt(Qt,et),"t(Qt,9》},其中,"t(Qt,et)是筆鋒橢圓主軸方向,表征筆鋒的書寫方向;at(Qt,`9t)是筆鋒橢圓主軸大小,表征筆畫在該處的筆畫寬度;bt(Qt,9t)是次主軸大小,主長度bt與主軸長度成一比例因子關(guān)系kt,bt(Qt,et)=kt*at(Qt,et);當(dāng)筆桿傾斜方向與書寫方向相同時,筆鋒橢圓在書寫方向上有延展趨勢,即短軸較長,比例因子kt較大;而當(dāng)筆桿傾斜方向與書寫方向相反時,筆鋒橢圓在書寫方向上被壓縮,短軸縮短,kt較小;所述步驟E2中,通過筆畫標(biāo)記算法,對筆畫軌跡中的起點、終點以及轉(zhuǎn)折點進(jìn)行標(biāo)記;對于筆畫軌跡中的其它點,采用插值的方法計算其筆鋒形狀參數(shù)at,at的插值計算方法根據(jù)筆畫外輪廓的走向,分成筆畫段從粗變細(xì)、筆畫段從細(xì)變粗、筆畫段兩端大小相同三種不同的情況分別進(jìn)行插值處理;所述步驟E3筆畫生成具體為設(shè)橢圓中心為(x。,y。),a和b分別為長半軸和短半軸,"為主軸與x軸的夾角,設(shè)(x,y)是屏幕上的象素點;首先計算點(x,y)到點(x。,y。)的距離d以及經(jīng)過(x。,y。)與(x,y)的直線與橢圓主軸方向間的夾角。-"r"g^^"廣,根據(jù)橢圓形定義方程可以推算得出,在與主軸方向夾角為e的方向上,橢圓的半徑長度為·0-/2.2/J如果(x,y)位于橢圓內(nèi),即cKd。-0.5,則(x,y)為完全填充點,灰度值為0;如果(x,y)在橢圓上,即d。-0.5《d<d。+0.5,令e=d-(d。-0.5),則(x,y)灰度值為255e;當(dāng)d>d。+0.5,即(x,y)在橢圓外,(x,y)灰度值為255,即不進(jìn)行填充。全文摘要本發(fā)明為一種基于軌跡分析的手寫漢字的美化方法,提出了基于軌跡分析的手寫漢字美化方法的基本系統(tǒng)框架,主要包括捕獲用戶輸入、預(yù)處理、骨架變換以及筆畫渲染四個模塊。其中,骨架變換和筆畫渲染是基于軌跡分析的手寫漢字美化算法研究的重點和難點。骨架變換的目的是通過軌跡分析以及適用規(guī)則,對筆畫的骨架結(jié)構(gòu)進(jìn)行美化調(diào)整,而筆畫渲染通過分析筆畫間的聯(lián)系以及筆畫本身的形狀特點生成書法風(fēng)格的筆畫輪廓。最后實驗結(jié)果表明,本發(fā)明提出的基于軌跡分析的手寫漢字美化方法系統(tǒng)框架能夠?qū)ψ杂蓵鴮懙娜我廛壽E進(jìn)行書法美化,具有較好的美化效果。文檔編號G06T11/80GK101699518SQ20091019351公開日2010年4月28日申請日期2009年10月30日優(yōu)先權(quán)日2009年10月30日發(fā)明者朱星華,毛慧蕓,金連文申請人:華南理工大學(xué)