專利名稱:數(shù)字化字體輪廓的三角化向量趨近方法
技術領域:
本發(fā)明涉及一種數(shù)字化字體輪廓的三角化向量趨向方法,尤其涉及一種適用于在對像素陣列進行向量化處理的技術桁領域中,利用一種三角判斷手段對構成字體輪廓的向量節(jié)點作進一步直線趨近處理的方法。
利用向量化的技術將點矩陣字形轉(zhuǎn)換為向量字形或是外框字形的技術早已為人所熟知,其中向量字形最早是為了解決點矩陣字形放大之后有鋸齒的問題,它是藉由指定某一線段的兩端點坐標的方式作為向量的表示法,但是由于這種字形大多是以直線組成,因此在某些文字上可能無法達到完美,所以還可進一步的以外框字形予以克服。外框字形是利用數(shù)學公式來記錄文字的外框,以便在文字放大之后仍能保持美觀的外形,這種外框字形和單純向量字形的最大不同,在于外框字形使用了三次以上的曲線方程式來記錄文字(特別是曲線的部分),而貝氏曲線(Bezier Curve)則是最常被利用的一種曲線方程式,這種字形的優(yōu)點就是可以保留原始字體中弧形筆劃的原貌。
貝氏曲線是利用數(shù)個控制點來記錄一段曲線的特性。例如貝氏三次曲線利用四個控制點來記錄一個三次方的曲線,四次曲線則需要用到五個控制點來記錄一個四次方的曲線,以此類推。因此一個外框字形可能由數(shù)十個或上百個貝氏曲線所組成,可想而知在處理或顯示龐大的文件內(nèi)容時,字形數(shù)據(jù)的大小亦將會影響其速度,所以對于向量字形或外框字形的制作而言,最佳的情形是在保護字形精度的情況下,如何獲得較少的特征點數(shù)(含控制點),這樣可使字體輪廓描述數(shù)據(jù)最少,相應的顯示速度也會較快。
傳統(tǒng)的向量字形或是外框字形的制作方式,是將字體輪廓,通過一定的技術處理,最終用直線向量或貝氏曲線表示,對于直線向量的表示只需首尾兩點(A,B)的坐標值(見圖1)。對貝氏曲線的描述,如圖2所示為二次方貝氏曲線,需以3個控制點(A,B,C)的坐標表示顥六,一般則需3~4個控制點的坐標(如圖3所示為三次方貝氏曲線需以4個控制點(A,B,C,D)的坐標表示)。
以往在對字體的像素陣列作向量化處理的技術中,首先是取得原始字體的掃描點陣圖(即像素陣列),再做直線向量趨近和貝氏曲線趨近比較,選擇趨近長度較長者(即包含向量節(jié)點較多者),作為字體中若干線廓點的數(shù)學描述,以此循環(huán),直至整個輪廓處理完畢。
其中在直線向量的最佳化趨近中,會因為不同的原始字體,以及掃描解析度的不同,導致種種復雜的字形邊界線條,而使得在直線向量趨處理中,面臨許多幾乎無序無規(guī)則的趨近判斷特例,通常的解決辦法是將所有特例情況在趨近中采用枚舉的方式以程序或人工來逐一判斷。這樣做會因為窮盡特例的判斷式而影響趨近精度度,同時,當更換一套字形時,也需要更換一套枚舉特例的判斷式,并且還要重新調(diào)整和此類特例判式相關的誤差極限值。而另一方面,常常會出現(xiàn)通過調(diào)整誤差極限值,使得某一些字形的進線向量趨近較好,而另一些字形則趕近較差的問題。因此經(jīng)常會進行人工干預的調(diào)整趨近。并且,由于大量枚舉判斷式的加入,勢必會相應地增加了趨近處理過程中無法向量化處理的程度,除了增加人工干預的頻繁度,也無法實現(xiàn)大幅度的自動化處理。
另一方面,由于初始直線向量趨近結果的誤差,將會導致后續(xù)進行貝氏曲線趨近處理時因為誤差累加而放大,這一步影響字體制作時的精確度。
本發(fā)明的主要目的是提供一種在各種字形的直線向量趨近處理過程中,均能有效適用的一種直線趨近判斷處理手段。
根據(jù)本發(fā)明所揭示的技術,是利用本發(fā)明所提供的一種三角(三點)判斷手段,在描述字體輪廓的有序向量節(jié)點群組中,取其中某一向量節(jié)點(VP)為起點,取連續(xù)且總數(shù)為三個的向量節(jié)點為單位采用逐點判斷的方式,在一預設的最大誤差容許值內(nèi)開始作逐點的直線向量趨近處理,在這連續(xù)的三個向量節(jié)點中以首尾兩個節(jié)點的直線連線為參考基準,然后以居中的向量節(jié)點至此一直線連線的最近垂直距離為其誤差,若是此一誤差小于預設的最大誤差容許值,則繼續(xù)往后推進(遞增)一個向量節(jié)點作為進一步判斷的末尾向量節(jié)點,而由前一次三個向量節(jié)點中位于尾端的向量節(jié)點遞補為居中節(jié)點,再依同一判式與相同的最大誤差容許值作一比較,依此類推,直至某一單元的誤差大于最大誤差容許值,便以最末一次判斷單元中的第一個向量節(jié)點為直線趨近向量的起點,而以居中的向量節(jié)點為同一直線趨近向量的終點,生成一條直線趨近向量,如此對接續(xù)尚未完成直線趨近的其余向量節(jié)點逐點作直線趨近處理,直至字形輪廓中的每一個向量節(jié)點均完成判斷,便可以制作出一個精確度佳,甚至有利于后續(xù)可能進行的貝氏曲線趨近處理的向量字形輪廓。
具體而言,本發(fā)明所揭示的判斷處理手段,可通過一數(shù)學公式,以及對通過此一數(shù)學公式所得到的結果作一比較而加以實現(xiàn);亦即在每一次利用三角判斷手段作直線向量趨近處理時,將三個彼此連線的向量節(jié)點視為一三角形,以首尾兩個向量節(jié)點的連線視為此三角形的長邊,居中的向量節(jié)點至此一長邊的最短垂直距離(即為此一三角形的高)視為誤差,藉由計算誤差是否大于一預設的最大誤差容許值,判斷此三個向量節(jié)點是否可以視為近似一直線,依此逐點判斷而取得較佳的直線趨近。
有關本發(fā)明的詳細技術內(nèi)容及較佳實施例,配合
如下圖1為直線向量及其向量節(jié)點的圖例。
圖2為表示二次方貝氏曲線及其控制點的圖例。
圖3為表示三次方貝氏曲線及其控制點的圖例。
圖4為本發(fā)明的硬件功能方塊圖。
圖5為產(chǎn)生一數(shù)字化字體輪廓的處理步驟流程圖。
圖6為一掃描自一原始字體的像素陣列圖。
圖7為本發(fā)明進行像素陣列的離散像素填補的范例圖示。
圖8為本發(fā)明進行像素陣列的離散像素刪除的范例圖示。
圖9為8方向向量圖。
圖10為本發(fā)明的三角判斷手段的判斷圖解。
圖11為利用本發(fā)明的三角判斷手段進行直線趨近處理的步驟流程圖。
圖12為本發(fā)明的三角判斷手段的實施例,顯示以構成字體輪廓的數(shù)個向量節(jié)點為例,逐點作三角判斷的結果。
圖13為本發(fā)明對多個向量節(jié)點逐一進行三角判斷的實施例圖解。
有關后續(xù)說明中的名詞意義先說明如下原始字體為存在于紙張表面尚未成為數(shù)字電信號的印刷文字;向量輪廓經(jīng)過向量化處理的數(shù)字化文字輪廓;輪廓向量多個首尾相連的輪廓向量所得成的封閉環(huán)形,就是所稱的向量輪廓;向量節(jié)點即為輪廓向量的首尾兩點。
本發(fā)明所揭示的數(shù)字化字體輪廓的處理方法是通過圖4所示的硬件體的運作而完成,其包括有影像擷取單元10,用以掃描一原始字體的影像,并且轉(zhuǎn)換為數(shù)字的像素數(shù)據(jù),而此一影像擷取單元10可以是例如平板式掃描儀、饋紙式掃描儀、掌上型掃描儀或是其他功能類似的裝置;存儲模組20,用以儲存像素數(shù)據(jù)以及字體輪廓的數(shù)據(jù);
邏輯處理單元30,可以存取存儲模組20中的像素數(shù)據(jù),并根據(jù)本發(fā)明所揭示的數(shù)字化字體輪廓的處理步驟,對像素數(shù)據(jù)同步作直線與曲線趨近處理璦,并且將處理完成的字體輪廓數(shù)據(jù)儲存至存儲模組20。
請參閱圖5,圖5為產(chǎn)生一數(shù)字化字體輪廓的處理步驟流程圖,其中所揭示的處理步驟包括有1、利用一影像擷取單元10取得原始字體的像素數(shù)據(jù),并儲存于存儲模組20成為一像素陣列(如圖6所示);2、利用邏輯處理單元30對前述的像素陣列進行離散像素的潤化修補處理;3、利用邏輯處理單元30對修補處理完成的像素陣列進行辦廓向量的向量節(jié)點的提取,并存儲于存儲模組20,成為一描述字體的輪廓的輪廓向量,即其向量節(jié)點群組;4、利用邏輯處理單元30,根據(jù)一種三角判斷手段,在描述字體輪廓的向量節(jié)點群組中,采用逐點判斷的方式,進行直線向量趨近處理,并將處理結果暫存于存儲模組20,成為一臨時直線趨近向量;5、利用邏輯處理單元30,對相同的向量節(jié)點進行貝氏曲線趨近處理,并將處理結果暫存于存儲模組20,成為一臨時曲線趨近向量;6、判斷臨時直線趨近向量的趟近直線長度是否大于臨時曲線趨近向量的趨近曲線長度,若為是,則把臨時直線趨近向量儲存于存儲模組20,成為字體輪廓的數(shù)據(jù),若為否,則把臨時曲線趨近向量存儲于存儲模組20,成為字體輪廓的數(shù)據(jù);7、判斷是否所有的向量節(jié)點均已完成向量趨近處理?若為是,則結束數(shù)字化字體輪廓產(chǎn)生流程,若為否,則繼續(xù)以下一個尚未進行趨近處理的向量節(jié)點為待處理向量節(jié)點群組中的起起向量節(jié)點,然后返回至步驟4。
如圖6所示,,以128*128個像素所組成的“刀”字為例,像素陣列中的每一個像素P均有一相應的坐標值,被記錄于存儲模組20中,如像素Pn(X,Y)。其中n代表像素的序號,X代表X軸坐標值,Y代表Y軸坐標值,而這些就是后續(xù)處理的數(shù)據(jù)來源。
為了在后續(xù)生成字體輪廓的向量節(jié)點的搜索過程中,不至于形成斷點(搜索的無限循環(huán)即為斷點),必須將像素陣列中一些無關的離散“像素”刪除,同時將像素陣列中一些離散的“空洞”加以填補。
而在前述的步驟2中,是根據(jù)以下的原則對像素陣列中的離散點進行修補,分別為
(1)填滿原則對像素陣列中的每一個像素進行判斷,若該像素為空白,而在與之相鄰的8個像素中,為黑的像素點數(shù)大于5個,而且在此一像素的左右和上下的相鄰像素中存在有黑色像素時(如圖7左圖所示),則將此一空白的像素位置實行填補,而成為一個黑色的像素,圖7中右圖所示即為填滿之后的情形。
(2)刪除原則主要是刪除離散像素,刪除的判斷方式是對像素陣列中的每一個像素進行判斷,若該像素為黑,而在與之相鄰的8個像素均為空白,則刪除此一圖責(其刪除前與刪除之后的情形分別如圖8中左、右兩圖所示)。
藉由前述的修補,則可以在以后的字體輪廓邊界搜索中不至于形成搜索斷點,況且上述這些像素本身亦不盡合理。
在前述步驟3中,對修補完成的像素陣列,進行字體輪廓向量節(jié)點的提取方式,是對像素陣列中的每一個像素進行判斷,并且以某一個像素為中心,依順時針方向做8方向的輪廓邊界掃描(如圖9所示)。即可得到一個包含有8種不方向的向量群組,而每一個輪廓向量均是由首尾兩個向量節(jié)點VP所組成,其向量表示式如下VP1[X1,Y1],VP2[X2,Y2]VP2[X2,Y2],VP3[X3,Y3]VP3[X3,Y3],VP4[X4,Y4]………VPn-1[Xn-1,Yn-1],VPn[Xn,Yn]其中Xn,Yn代表第n個向量節(jié)點VPn在X軸與Y軸的坐標值。
所謂向量輪廓的邊界的判斷,必須先找出構成輪廓向量的向量節(jié)點的像素,若是某一像素周圍相鄰的8個像素中存在有空白像素,則此一像素即有可能成為輪廓向量中的向量節(jié)點。若采用順時鐘方向?qū)ο袼仃嚵兄械拿恳粋€像素進行判斷,則是從左上角開始,第一個屬于輪廓向量的向量節(jié)點就是左邊鄰近的像素為空白或是上方鄰近的像素為空白的黑色像素。按照8方向算法搜索下一個屬于輪廓向量的向量節(jié)點以形成邊界,搜索到最后將回到原來的出發(fā)點,形成一條閉合的連線。
在跟蹤過程中,不斷判別目前的輪廓向量的起始向量節(jié)點(實際上就是某一像素)與下一個屬于向量輪廓的新像素的連線方向是否發(fā)生變化,若不變化,表示仍屬同一向量(例如圖6中的像素P1,P2-P5仍在同一直線上,也就是說像素P1至P2的連線方向,與像素P2至P3的連線方向直到像素P4至P5的連線方向仍未改變,故像素P1~P5仍屬同一向量,而此一向量的首尾兩點的坐標值便是像素P1,P5的坐標值);若是發(fā)生變化(例如圖6中的像素P5至P6的連線方向,與像素P1至P5的連線方向不同),則表示前一輪廓向量結束,新的輪廓向量開始。
在跟蹤過程中還應為已跟蹤過的像素設置標志,以避免重復判斷。這些輪廓向量彼此有序的首尾相連所構成的封閉環(huán)形,就是字體的向量化輪廓,而所有位于輪廓向量兩端的節(jié)點就是所謂的向量節(jié)點(VP)。而在后續(xù)所有的直線向量趨近和貝氏曲*線趨近處理步驟,便是以上述的向量節(jié)點為基礎而完成的。
在前述步驟4中所述的三角判斷手段,可以由圖10的圖例說明了解。如圖中所示,在作直線趨近處理時的主要目的,就是要對前述步驟3所完成的向量輪廓再作進一步的處理,以獲得一個數(shù)據(jù)量小又仍能保持字形精度的字形數(shù)據(jù)。根據(jù)本發(fā)明所揭示的技術,是以相鄰的三個向量節(jié)點(P1,VPN,VPN+1)為基礎,將此三個向量節(jié)點(VP1,VPN,VPN+1)彼此邊線成為三角形,以首尾兩個向量節(jié)點(VP1,VPN+1)的連線視為此一三角形的長邊,居中的向量節(jié)點(VPN)至此一長邊的最短垂直距離(即為此一三角形的高)視為誤差h,藉由計算誤差h是否大于一預設的最大誤差容許值(設為ξmax),作為判斷這三個向量節(jié)點(VP1,VPN,VPV+1)是否可以視為近似一直線的標準,若是這三個向量節(jié)點可趨近為一直線,則再以此種三角判斷手段,向后推進一個向量節(jié)點,以相同的方式判斷是否可以趨近成一直線,直到在某個三角形(VP1,VPN,VPN+1)中的趨近誤差h>ξmax,則此逐點推進的三角判斷過程結束。如此可以獲得一個較佳的直線趨近向量,其起始的向量節(jié)點為VP1,而其尾端的向量節(jié)點為VPN,其直線向量長度(即趨近效率)為N-1,故此一趨近的直線向量描述為向量[VP1,VPN]。
假設圖10中的三個向量節(jié)點(V1P1,VPN,VPN+1)的坐標值(可身像素陣列的記錄中取得)分別為VP1(x1,y1);VPN(x2,y2);以及VPN+1(x3,y3)。
則可套用下列計算公式計算出誤差值h,公式如下h=2A/L其中A為三角形VP1,VPV,VPN+1的面積。
Lyl三角形長邊的長度。
A=X1×(Y2-Y3)-X2×(y1-Y3)+X3×(Y1-Y2);L=sqrt((X1-X3)×(X1-X3)+(Y1-Y3)×(Y1-Y3));當然,以上所舉的例子是以X-Y坐標系統(tǒng)作為閱覽室各個向量節(jié)點的坐標位置的標準,但并無此限定,其他只要可以決定出向量節(jié)點之的置的方法亦可以實現(xiàn)(如相對坐標植、球坐標或是極坐標值均可),唯一不同的則是計算式而已。
雖然,當h<ξmax時,這里ξmax為一個和原始字體掃描的解析度相關的最大直線趨近誤差。例如由于掃描解析率的誤差,而使掃描字體線條帶來的掃描解析度誤差平均為0.5個柵格大小。為了要保持字形線條精度,所以當解析度例如為128*128像素時,則最大誤差容許值ξmax的較佳范圍為0.5個像素<ξmax<1.0個像素(此為一例舉值)關于本發(fā)明以三角判斷手段進行直線趨近處理的詳細步驟流程如圖11所示,包括有1、設一最大誤差容許值=ξmax,起始向量節(jié)點序號S=1,并記錄于存儲模組20;2、設一相鄰向量節(jié)點N=S+1,并記錄在存儲模組20中;3、取得相鄰的三個向量節(jié)點分別為VPS,VPN,VPN+1的坐標值分別為(X1,Y1),(X2,Y2)與(X3,Y3);4、利用邏輯處理單元30,根據(jù)下列公式計算取得誤差值hh=A/L;其中A=X1×(Y2-Y3)-X2×(Y1-Y3)+X3×(Y1-Y2);L=sqrt((X1-X3)×(X1-X3)+(Y1-Y3)×(Y1-Y3))。
5、判斷誤差值h是否大于最大誤差容許值ξmax,若為是,則進行下一步驟,若為否,則設相鄰向量節(jié)點序號N=N+1,并返回至步驟3;6、儲存向量[Vps,VPN]至存儲模組20,成為一臨時直線趨近向量;以及7、判斷所有向量節(jié)點是否都已完成?若為是,則結束,若為否,則設起始向量節(jié)點序號S=N+1,然后返回至步驟2。
再請參閱圖12,圖12為本發(fā)明利用三角判斷手段作直線趨近處理的具體實施例,該圖中所示為一掃描原始字體所獲得的像素陣列,包含有向量節(jié)點VP1~VP14,而再進一步利用三角判斷手段作直線趨近可以獲得兩條直線向量分為向量[VP1,VP9],向量[VP10,VP14],而這種直線趨近處理的結果顯然合理亦可達到簡化字體描述數(shù)據(jù)的功效。
最后請參閱圖13,根據(jù)本發(fā)明的技術,假設有一組依序排列的向量節(jié)點分別為VP1,VP2,VP3,VP4,VP5,VP6;則在作三角化直線向量趨近判斷時,VP1為起始向量節(jié)點,居中的向量節(jié)點為VP2,末尾向量節(jié)點為VP3,則先判斷向量節(jié)點VP1,VP2,VP3所現(xiàn)成的三角形,如果此三角形的高h123<ξmax,則將當前的居中向量節(jié)點向后順延一個為VP3,再以向量節(jié)點VP4為當前的末尾向量節(jié)點,繼續(xù)判斷向量節(jié)點VP1,VP3,VP4所組成的三角形的高h134是否<ξmax,如此不斷地判斷新一個三角形的高h是否<ξmax,直到在某一個三角形(VP1,VPN,VPN+1)中的高h>ξmax,則此逐點判斷的過程暫時結束,并以向量節(jié)點VP1,VPN+1為直線趨近向量的首尾兩端點,生成一較佳的直線趨近向量即為所求。
將所有的向量趨近問題轉(zhuǎn)化為字體輪廓的向量節(jié)點的趨近問題,將趨近問題簡化。然后、基于本發(fā)明的三角判斷手段,利用逐步推進的直線向量趨近原則,可獲得基于某一個誤差值的趨近輪廓長度。從而令配合貝氏曲線趨近,以獲得高精度的趨近整體結果,提供了較好的量化數(shù)據(jù)基礎。
權利要求
1.一種數(shù)字化字體輪廓的三角化向量趨近方法,根據(jù)一影像擷取單元掃描原始字體所獲得的像素陣列數(shù)據(jù),對所述像素陣列中構成所述字形的輪廓向量的多個有序向量節(jié)點,進一步作直線趨近處理,以獲得一直線趨近向量的方法,包括有下列步驟(1)設一最大誤差容許值=ξmax,起始向量節(jié)點序號S=1,并記錄于一存儲模組中;(2)設一相鄰向量節(jié)點序號N=S+1,并記錄于存儲模組中;(3)取得相鄰的三個所述向量節(jié)點,分別為PS,PN,PN+1的坐標位置;(4)以所述三個向量節(jié)點中首尾兩者的連線為基準,利用一邏輯處理單元,根據(jù)所述三個向量節(jié)點的坐標位置,計算取得居中的所述向量節(jié)點至所述連線的最短垂直距離,并把所述最短垂直距離存儲在所述存儲模組中,成為一誤差值h;(5)判斷所述誤差值h是否大于所述最大誤差容許值ξmax,若為是,則進行下一步驟,若為否,別重設該相鄰向量節(jié)點序號N=N+1,并返回步驟3;(6)把一向量(PS,PN)存儲于所述存儲模組中,成為一臨時直線趨近向量以及(7)判斷所有所述向量節(jié)點是否都已完成?若為是,則結束,若為否,則設所述超始向量節(jié)點序號S=N+1,然后返回至步驟2。
2.如權利要求1所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述最大誤差容許值ξmax在所述像素陣列為128*128像素時,是以0.5個像素<ξmax<1.0個像素為較佳。
3.如權利要求1所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述向量節(jié)點的坐標位置,分別為相應的所述像素的坐標值(X1,Y1),(X2,Y2)與(X3,Y3)。
4.如權利要求1所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述向量節(jié)點的坐標位置由相對坐標值所決定。
5.如權利要求1所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述誤差值h是根據(jù)下列公式計算取得誤差值h=2A/L,其中A為該三個向量節(jié)點連線而成的三角形面積,而L則為該首尾兩個向量節(jié)點的連線長度。
6.如權利要求5所述數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述面積A=X1×(Y2-Y3)-X2×(Y1-Y3)+X3×(Y1-Y2)。
7.如權利要求5所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述L=sqrt((X1-X3)×(X1-X3)+(Y1-Y3)×(Y1-Y3))。
8.一種數(shù)字化字體輪廓的三角化向量趨近方法,用于構成字體的像素陣列進行向量化處理的方法,包括下列步驟(1)利用一影像擷取單元取得一原始字體的像素數(shù)據(jù),并儲存于一存儲模組中,成為一像素陣列;(2)利用一邏輯處理單元對所述像素陣列所含的像素進行離散點的注化修補處理;(3)利用所述邏輯處理單元對所述修補處理完成的像素障陣列進行輪廓向量的向量節(jié)點的提取,并能存儲于所述存儲模組中,成為一描述所述字形的向量輪廓的輪廓向量,即其向量節(jié)點群組;(4)利用所述邏輯處理單元,根據(jù)三角判斷手段,在所述向量節(jié)點群組中,采用逐點判斷的方式,進行直線向量趨近處理,并將處理結果暫存于所述存儲模組中,成為一臨時直線趨近向量;(5)利用所述邏輯處理單元,對相同的所述向量節(jié)點進行貝氏曲線趨近處理,并將處理結果暫存于所述存儲模組中,成為一臨時曲線趨近向量;(6)判斷所述臨時直線趨近向量的趨近直線長度是否大于所述臨時曲線趨近向量的趨近曲線長度,若為是,則把所述臨時直線趨近向量存儲于所述存儲模組中,成為所述字體輪廓的數(shù)據(jù),若為否,則把所述臨時曲線趨近向量存儲于所述存儲模組中,成為所述字體輪廓的數(shù)據(jù);以及(7)判斷是否所有的所述向量節(jié)點均已完成向量趨近處理?若為是,則結束數(shù)字化字輪廓產(chǎn)生流程,若為否,則繼續(xù)下一個尚未進行趨近處理的所述向量節(jié)點為待處理的向量節(jié)點群組中的起始向量節(jié)點,然后返回至步驟4。
9.如權利要求8所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述像素陣列中的每一個像素,均包含有一表示位置的坐標值。
10.如權利要求8所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述潤化修補處理包括有對所述像素陣列中的每一個像素進行判斷,若所述像素中有一像素為空白,且在與該空白像素相鄰的8個像素中,為黑的像素點數(shù)大于5個,而且在該空白像素的左右和上下的相鄰像素中存在有黑色像素時,則將該空白的像素位置實行填補。
11.如權利要求8所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述注化修補處理包括有對所述像素陣列中的每一個像素進行判斷,若像素中有任一像素為黑,而在與該像素相鄰的8個像素中,為空白的像素點數(shù)大于5個,則刪除該像素。
12.如權利要求8所述的數(shù)字化字體輪廓的三角化向量趨近方法,其中特征在于,所述潤化修補處理包括有對所述像素陣列中的每一個像素進行判斷,若像素中有任一像素為黑,而在該黑色像素相鄰的左右像素為黑,上下像素為空白時,則刪除此一像素。
13.如權利要求8所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述潤化修補處理包括有對所述像素陣列中的每一個像素進行判斷,若所述像素中有任一像素為黑,而在該黑色像素相鄰的左右像素為空白,上下像素為黑時,則刪除此一像素。
14.如權利要求8所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述三角判斷手段是將三個彼此連線的所述向量節(jié)點視為一三角形,以首尾兩個所述向量節(jié)點的連線視為所述三角形的長邊,以居中的所述向量節(jié)點至所述長邊的最短垂直距離,即為所述三角形的高為一誤差,藉由計算所述誤差是否大于一預設的最大誤差容許值,判斷所述三個向量節(jié)點是否可以視為近似一直線,依此逐點判斷而取得一較佳的直線趨近向量。
15.如權利要求14所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述三角判斷手段包括有(1)設一最大誤差容許值=ξmax,起起向量節(jié)點序號S=1,并記錄于一存儲模組中;(2)設一相鄰向量節(jié)點序號N=S+1,并記錄在存儲模組中;(3)取得相鄰的三個向量節(jié)點分別為PS,PN,PN+1的坐標位置;(4)以所述三個向量節(jié)點中首尾兩者的連線為基準,利用一邏輯處理單元,根據(jù)所述三個向量節(jié)點的坐標位置,計算取得居中珠所述向量節(jié)點至所述連線的最短垂直距離,并把所述最短垂直距離存儲在所述存儲模組中,成為一誤差值h;(5)判斷所述誤差值h是否大于所述最大誤差容許值ξmax,若為是,則進行下一步驟,若為否,則設所述相鄰向量節(jié)點序號N=N+1,并返回至步驟3;(6)把一向量[PS,PN]存儲于所述存儲模組中,成為一臨時直線趨近向量;以及(7)判斷所有的所述向量節(jié)點是否都已完成?若為是,則結束,若為否,則設所述起始向量節(jié)點序號S=N+1,然后返回至步驟2。
16.如權利要求15所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述向量節(jié)點的坐標位置分別為相應之的所述像素的坐標值(X1,Y1),(X2,Y2)與(X3,Y3)。
17.如權利要求15所述的數(shù)字化字體輪廓的三角化向量趨近方法,其特征在于,所述向量節(jié)點的坐標位置是由相對坐標值所決定。
全文摘要
本發(fā)明提供一種數(shù)字化字體輪廓的三角化向量趨近方法,其中揭示了一種在數(shù)字化向量字體的制作過程中,根據(jù)掃描原始字體所獲得的像素陣列,進一步對若干像素所作的直線向量趨近處理技術;本發(fā)明所揭示的技術是自己經(jīng)修補過而無輪廓離散點的像素陣列之中取得描述字體輪廓的向量節(jié)點,利用本發(fā)明所提供的三角判斷手段,以其中某一向量節(jié)點為起點,取連續(xù)的三個向量節(jié)點為單位采用逐點判斷的方式,在一預設的最大誤差容許值內(nèi)作直線向量的趨近處理,藉此提供一種可使字體輪廓描述數(shù)據(jù)減少,且可保持字體精確度的字體輪廓處理方法。
文檔編號G06T9/20GK1279451SQ9911041
公開日2001年1月10日 申請日期1999年7月6日 優(yōu)先權日1999年7月6日
發(fā)明者陳淮琰, 鄭建鋒 申請人:英業(yè)達集團(西安)電子技術有限公司