一種快速制作矢量字庫的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種快速制作矢量字庫的方法及系統(tǒng),由計算機、打印機以及掃描儀組成的系統(tǒng)中,其步驟包括:1)指定待建立字庫中的文字內容并機器寫入一標準表格中;2)在打印出的標準表格上按照書寫規(guī)范手寫入文字,同時以標準表格為單位采集手寫入文字得到若干表格圖像;3)切分表格圖得到文字閉合輪廓,根據(jù)文字閉合輪廓選出其中部分點作為關鍵點,對關鍵點篩選后得到最優(yōu)關鍵點;4)根據(jù)最優(yōu)關鍵點得到文字的矢量化輪廓,根據(jù)矢量化輪廓生成標準TrueType字庫。本發(fā)明得到的矢量字庫質量較高,可以完整的保持原作者的書寫風格。在生成字庫的過程中完全不需人工干預,掃描得到的圖像一步生成高質量的標準字庫,利于個性化字庫批量生產。
【專利說明】一種快速制作矢量字庫的方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及一種矢量字庫的方法及系統(tǒng),具體涉及一種通過圖像旋轉、切割、邊緣檢測、關鍵點檢測和曲線擬合的方法進行快速制作矢量字庫的方法及其系統(tǒng),屬于計算機圖像處理【技術領域】。
【背景技術】
[0002]手寫字庫是一種利用手寫文字圖像生成的、可在計算機上安裝使用的標準TrueType字庫。中國有句古話:見字如見人,手寫字庫可將人的手寫筆跡融入到日常的工作生活中,例如郵件、短信、微博和博客等,都可以選擇使用自己的字庫,來彰顯自己的個性。
[0003]TrueType字庫是由Apple公司和Microsoft公司聯(lián)合提出的一種新型數(shù)學字形描述技術。TrueType采用幾何學中二次貝塞爾曲線及直線來描述字體的外形輪廓,其特點是具有伸縮不變性。
[0004]相較于傳統(tǒng)商業(yè)設計出來的TrueType字庫,例如偕體、宋體和黑體等商業(yè)字體的字形由專業(yè)設計人員設計而得到,個性化字庫的文字字形直接來源于用戶手寫文字圖像的矢量化結果,這就需要矢量化算法能夠盡量完整的體現(xiàn)用戶的手寫特點,并保持用戶原有的書與風格。
[0005]現(xiàn)有的方法和系統(tǒng)中,一方面,它們常常采用硬件的輸入設備進行手寫字形圖像的采集,這樣的書寫設備與紙的差別較大,導致輸入的文字圖像與用戶真正的字體有一定差距,生成的字庫也無法完整的保持用戶的書寫風格;另一方面,在字庫的生成過程中,經(jīng)常需要一些人工干預,對字形的輪廓進行修改和美化,致使字庫的生成周期比較長,并且不利于字庫的批量自動化生產。
【發(fā)明內容】
[0006]本發(fā)明的目的在于提出了一種全自動的個性化字庫生成方法及系統(tǒng),用以快速準確的將手與文字圖像轉換成聞質量可使用的標準TrueType字庫。
[0007]為了實現(xiàn)上述目的,本發(fā)明采用的技術方案如下:
[0008]一種快速制作矢量字庫的方法,其步驟包括:
[0009]I)指定待建立字庫中的文字內容并機器寫入一標準表格中;
[0010]2)在打印出的標準表格上按照書寫規(guī)范手寫入文字,同時以所述標準表格為單位采集所述手寫入文字得到若干表格圖像;
[0011]3)切分所述表格圖像得到單獨的文字圖像,并根據(jù)文字圖像中的像素點對所述文字圖像進行輪廓檢測得到文字閉合輪廓;
[0012]4)根據(jù)所述文字閉合輪廓選出其中部分點作為關鍵點,對所述關鍵點篩選后得到最優(yōu)關鍵點;
[0013]5)根據(jù)所述最優(yōu)關鍵點將該文字閉合輪廓擬合成二次貝塞爾曲線和直線描述的矢量化形式,得到文字的矢量化輪廓,根據(jù)所述矢量化輪廓生成標準的TrueType字庫。
[0014]更進一步,所述標準表格表設置以下幾個部分:
[0015]I)在表格邊緣處設置不少于4個黑色矩形標記區(qū),
[0016]2)在位于表格右上角設置用戶信息區(qū),標記至少包括用戶名字和對應字庫版本號的信息;
[0017]3)建立一文字書寫區(qū),所述文字書寫區(qū)包括錯字標記區(qū)域和文字字體提示;
[0018]4)設置頁碼識別區(qū)域和/或表格頁碼區(qū)域,將識別區(qū)域涂黑或者空白用來表示該位為I或0,用于人工或者機器識別表格頁碼。
[0019]更進一步,所述切分所述表格圖像得到單獨的文字圖像的具體方法如下:
[0020]I)找到4個角的黑色矩形區(qū)域,識別出表格的傾斜角度,然后對表格進行旋轉,保持表格內的文字橫平豎直;
[0021]2)找到頁碼識別區(qū)域,識別出表格的編號;根據(jù)表格的編號在數(shù)據(jù)庫中的文件里查找該表格中所包含的文字內容,然后將表格切分為若干單個文字的圖像;
[0022]3)所述文字的圖像分辨率與表格相同,并對每個文字圖像以文字的Unicode編碼進行命名,并以bmp格式的文字圖像存儲在指定的文件夾中;
[0023]4)所述指定文件夾是每個用戶對應的一固定的獨立的文件夾,其中存儲著該用戶之前輸入的txt文件,已經(jīng)掃描得到的表格圖片,以及在生成字庫的過程中所得到的切分后和單個文字圖片和最后生成的字庫文件。
[0024]更進一步,根據(jù)文字圖像中的像素點對所述文字圖像進行輪廓檢測得到文字閉合輪廓的具體方法如下:
[0025]I)用寬度優(yōu)先搜索算法,檢測出文字的輪廓,找出本身顏色是黑色并且與白色像素相鄰的像素點,作為文字的輪廓點;
[0026]2)用深度優(yōu)先搜索算法,找到漢字輪廓中的閉合輪廓將每個輪廓點作為圖論模型中的節(jié)點;如果兩個輪廓點在彼此的8鄰域中,則它們對應的節(jié)點之間存在一條邊,接著用深度優(yōu)先搜索的算法,在該圖論模型中找出閉合的路徑,每一條閉合路徑都對應著一個閉合文字輪廓;
[0027]3)用刪除代價算法在所述閉合文字輪廓點中選出一部分作為關鍵點,每次都選取一個代價最小的輪廓點進行刪除,直到剩余的輪廓點數(shù)達到給定閾值;
[0028]4)根據(jù)得到的所述關鍵點使用動態(tài)規(guī)劃算法和啟發(fā)式搜索來篩選出最優(yōu)的關鍵
占.[0029]5)根據(jù)所述最優(yōu)關鍵點并采用最小二乘法將字形輪廓擬合成二次貝塞爾曲線和直線描述的矢量化形式;
[0030]6)由文字的矢量化輪廓生成標準的TrueType字庫。
[0031]更進一步,,在步驟5)中采用并用Newton Raphson算法來對擬合的結果進行參數(shù)上的優(yōu)化得到矢量化輪廓。
[0032]可選地,以文本文件txt的形式將所述文字內容并機器寫入一標準表格中,文本包括中文漢字,英文字母,數(shù)字以及符號。
[0033]可選地,按照如下書寫規(guī)范進行手寫入文字:
[0034]用戶書寫時選用鋼筆和/或簽字筆,在每個小表格內只能書寫一個字符,并且書寫的字符不與表格的邊緣接觸;每個小表格左上方有兩個小正方形作為錯字標記區(qū)域,如果用戶書寫錯誤時,將該區(qū)域都涂黑。
[0035]可選地,通過掃描儀將手寫的文字圖像采集到計算機,圖像輸入格式為黑白二值圖像。
[0036]可選地,所述圖像分辨率優(yōu)選為600dpi。
[0037]本發(fā)明還提出一種快速制作矢量字庫的系統(tǒng),包括:計算機、打印機、掃描儀,其特征在于,
[0038]所述打印機,用于物理打印出指定待建立字庫中的文字內容并機器寫入一標準表格;
[0039]所述掃描儀,將手寫入文字圖像采集到計算機;
[0040]所述計算機包含實現(xiàn)以下功能的模塊:
[0041]用于指定待建立字庫中的文字內容并機器寫入一標準表格中的模塊;
[0042]用于在打印出的標準表格上按照書寫規(guī)范手寫入文字,同時以所述標準表格為單位采集所述手寫入文字得到若干表格圖像的模塊;
[0043]用于切分所述表格圖像得到單獨的文字圖像,并根據(jù)文字圖像中的像素點對所述文字圖像進行輪廓檢測得到文字閉合輪廓的模塊;
[0044]用于根據(jù)所述文字閉合輪廓選出其中部分點作為關鍵點,對所述關鍵點篩選后得到最優(yōu)關鍵點的模塊;
[0045]用于根據(jù)所述文字閉合輪廓擬合成二次貝塞爾曲線和直線描述的矢量化形式得到文字的矢量化輪廓,根據(jù)所述矢量化輪廓生成標準的TrueType字庫的模塊。
[0046]與現(xiàn)有技術相比,本發(fā)明的積極效果在于:
[0047]本發(fā)明利用高效準確的矢量化算法,將手寫文字圖像快速有效地轉換成高質量的TrueType字庫。相較于現(xiàn)有技術,本方法在矢量化的過程中模擬字形設計人員的設計方法,得到的TrueType字庫質量較高,可以完整的保持原作者的書寫風格;另一方面,本發(fā)明在生成字庫的過程中,完全不需人工干預,可以由掃描得到的圖像一步生成高質量的標準字庫,有利于個性化字庫的批量生產。
[0048]方正靜蕾字體是一款個性化手寫字庫,是首先通過矢量化軟件對文字圖像進行初步的矢量化,再由專業(yè)字庫設計人員對每個字符的矢量輪廓進行修訂。為了測試本方法的性能,我們將方正靜蕾字體打印在表格的輸入框中,掃描后由系統(tǒng)自動生成字庫,圖8(a)_圖8 (d)顯示了由本方法自動生成的字庫與標準字庫的細節(jié)對比。本發(fā)明的方法只花費了 2個小時來生成整套字庫,而專業(yè)字庫設計人員則花費了幾個月的時間,并且從圖8(d)和圖8 (c)的細節(jié)中可以看出,本方法生成的字庫使用了更少的關鍵點,并且得到的文字輪廓也更加平滑。
【專利附圖】
【附圖說明】
[0049]圖1是本發(fā)明所述的個性化字庫生成的方法及系統(tǒng)的流程圖;
[0050]圖2是本發(fā)明所述的A4表格設計圖;
[0051]圖3是本發(fā)明所述的由表格圖像直接生成字庫的方法的示意圖;
[0052]圖4 (a) -4 (b)是本發(fā)明所述的刪除代價定義的示意圖;[0053]圖5 (a) -5 (b)是本發(fā)明所述的啟發(fā)式搜索算法的示意圖;
[0054]圖6是本發(fā)明所述的啟發(fā)式搜索算法的示意圖;
[0055]圖7 (a)是本發(fā)明所述的個性化字庫安裝后在Word中顯示的示意圖;
[0056]圖7 (b)是本發(fā)明所述的偕體字庫在Word中顯示的示意圖;
[0057]圖8 (a) -8 (d)是本發(fā)明所述的方正靜蕾字體對比示意圖;
[0058]圖9是本發(fā)明所述的楷體“心”字的矢量化流程示意圖。
【具體實施方式】
[0059]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,可以理解的是,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0060]圖1是本發(fā)明所述快速制作矢量字庫的方法流程圖,具體步驟如下:
[0061]I)由用戶指定待建立字庫中所包含的文字內容,并以文本文件txt的形式輸入。文本可以包含中文漢字,英文字母,數(shù)字和符號等所有字符。
[0062]2)將用戶給定的文字內容去重后生成若干張文字內容排列格式按照A4大小的標準表格,表格的細節(jié)如圖2所示。文本文件中可能包含相同的文字,系統(tǒng)會自動去重,每個文字只會在表格中出現(xiàn)一次,即用戶不需重復書寫相同的字符。表格的大小可以任意縮放,系統(tǒng)可以通過標記區(qū)域來計算表格的縮放比例。
[0063]3)用戶通過物理打印,打印出表格,并按照要求在表格上書寫文字。具體要求如下:用戶書寫時可選用鋼筆或簽字筆,最好不要用鉛筆;每個小表格內只能書寫一個字符,并且書寫的字符請勿與表格的邊緣有接觸。每個小表格左上方有兩個小正方形,如圖2所示,作為錯字標記區(qū)域,如果用戶書寫錯誤時,可以將該區(qū)域都涂黑。
[0064]4)通過掃描儀將手寫的文字圖像采集到計算機,為了節(jié)省存儲空間,輸入格式為黑白二值圖像,分辨率為600dpi。經(jīng)實驗測試,當表格大小為A4時,600dpi的掃描得到的字符大小最合適。若選用更大的分辨率,則會浪費存儲空間和處理時間;若選用更小的分辨率,掃描得到的字符會偏小,處理時可能會丟失一些細節(jié)。
[0065]上述的步驟應該屬于方法的預處理部分,即得到了根據(jù)設定標準表格書寫入帶有文字的圖像;將該圖像輸入計算機,進行進一步的處理:
[0066]5)系統(tǒng)將掃描得到的表格圖像一步生成標準TrueType字庫,具體步驟如圖3所
/Jn ο
[0067]圖2是本發(fā)明所述的A4表格設計圖,包含以下幾個部分:
[0068]I)位于表格邊緣處的4個黑色矩形標記區(qū),用來精確識別表格的方向,便于后期對表格的旋轉來矯正方向;
[0069]2 )位于右上角的用戶信息區(qū),標有用戶的名字和對應字庫的版本號,便于表格的管理和與相應字庫的對應;
[0070]3)文字書寫區(qū),包含文字楷體提示和錯字標記區(qū)域。用戶書寫時,參照左側的提示,將文字寫在右邊的空白格子中;如果用戶書寫時發(fā)現(xiàn)書寫有誤,則可以將錯字標記區(qū)域涂黑,系統(tǒng)在處理時可自動識別。表格中的文字個數(shù)由實際情況決定,不需要完全占滿120個位置;
[0071]4)頁碼識別區(qū)域,用于系統(tǒng)自動識別表格頁碼信息,由系統(tǒng)自動生成,共有7個小方格,每個方格對應一位,涂黑表示該位為I,空白則表示該位為O,該標記區(qū)域可以表示的頁碼范圍是I到127 ;
[0072]5)表格頁碼區(qū)域,用于人工識別表格頁碼。
[0073]圖3是本發(fā)明所述的由表格圖像直接生成字庫的方法的示意圖,具體步驟如下;
[0074]I)切分表格。由于表格在打印和掃描的時候,可能會有一定角度的傾斜,因此處理時,首先找到4個角的黑色矩形區(qū)域,識別出表格的傾斜角度,然后對表格進行旋轉,保持表格內的文字橫平豎直。然后找到頁碼識別區(qū)域,自動識別出表格的編號。根據(jù)表格的編號在數(shù)據(jù)庫中的文件里查找該表格中所包含的文字內容,然后將表格切分為若干單個文字的圖像,該文字的圖像分辨率與表格相同,并對每個文字圖像以文字的Unicode編碼進行命名,以bmp格式的圖像存儲在指定的文件夾中。每個用戶都對應著一個固定的獨立的文件夾,其中存儲著該用戶之前輸入的txt文件,已經(jīng)掃描得到的表格圖片,以及在生成字庫的過程中所得到的切分后和單個文字圖片和最后生成的字庫文件。
[0075]2)預處理文字圖像,對于每張文字圖像,首先用寬度優(yōu)先搜索算法(具體可參考http://baike.baidu.com/view/288267, htm),檢測出文字的輪廓,該搜索算法的規(guī)則是找出那些本身顏色是黑色并且與白色像素相鄰的像素點,作為文字的輪廓點。其他常用的邊緣檢測算法有Canny算子(具體可參考Canny J.A computational approach toedge detection[J].Pattern Analysis and Machine Intelligence, IEEE Transactionson, 1986(6):679-698.)等,但是這些算法常常針對彩色或灰度圖像,處理過程非常復雜,且生成的輪廓并不能保證完全閉合。相比之下,寬度優(yōu)先搜索算法更加簡單有效。
[0076]然后用深度優(yōu)先搜索算法(可參考http://baike.baidu.com/view/288277, htm),找到漢字輪廓中的閉合輪廓。該搜索算法的規(guī)則是首先一個圖論的模型:每個輪廓點作為圖論模型中的節(jié)點;如果兩個輪廓點在彼此的8鄰域中,則它們對應的節(jié)點之間存在一條無向邊。然后從任意一個輪廓點出發(fā),用深度優(yōu)先搜索的算法,沿著所有可達的路徑進行搜索,直到回到起始點,則表示找到了一個閉合的路徑。在該圖論模型中找出閉合的路徑,每一條閉合路徑都對應著一個閉合的漢字輪廓。該算法的思路簡單,實現(xiàn)起來也較容易,是較通用的算法。
[0077]3)用刪除代價算法在文字的閉合輪廓點中選出一部分作為關鍵點。刪除代價的定義如圖4 (a)和圖4 (b)所示,其基本思想是給每個輪廓點賦予一個“被刪除的代價”,算法每次都選取一個代價最小的輪廓點進行刪除,直到剩余的輪廓點數(shù)達到給定閾值。本領域技術人員可以根據(jù)圖中的說明來實現(xiàn)該算法。
[0078]4)由步驟3)得到的關鍵點,同時使用動態(tài)規(guī)劃算法(具體可參考http://baike.baidu.com/view/28146, htm)和啟發(fā)式搜索(http://baike.baidu.com/view/752809,htm)來篩選出最優(yōu)的關鍵點。最后用最小二乘法(可參考http://baike.baidu.com/view/139822, htm)將字形輪廓擬合成二次貝塞爾曲線(http://baike.baidu.com/view/60154, htm)和直線描述的矢量化形式,該操作是本領域的標準處理過程,并用NewtonRaphson 算法(可參考 http://baike.baidu.com/view/1504001, htm)來對擬合的結果進行參數(shù)上的優(yōu)化。[0079]5)由文字的矢量化輪廓生成標準的TrueType字庫。該部分是通過研究TrueType官方格式說明來編程實現(xiàn)的,代碼量大,但是所用技術都是公開的。
[0080]如圖4 (a)、圖4 (b)所示是刪除代價定義的示意圖。
[0081]刪除代價算法首先將文字輪廓上的所有點都放入候選集合S中,然后計算S中每個點的刪除代價,并將刪除代價最小的點從S中刪除,重復以上過程,直到S中的點數(shù)小于等于給定的閾值T。
[0082]其中,圖4 (a)、圖4 (b)中的灰色方塊代表S中的點,白色方塊代表被刪除的點。如圖4 (a)所示,在算法最開始的時候,輪廓上的每個點都在S中;隨著一些點被刪除,情況變成了圖4 (b)。
[0083]為了衡量點P_k對擬合效果的影響,該算法選擇點P_m作為參考。假設用直接來擬合輪廓,當點P_k被刪除了之后,擬合的直線就由(P_i,P_k)變成了(P_i,P_j)。因此,該算法定義P_k對P_m的影響值為V_m=y _ x,其中y是P_m到直線(P_i,P_j )的距離,x是P_m到直線(P_i,P_k)的距離。
[0084]綜上,該算法定義P_k的刪除代價D_k=max {V_m m e (i, j)}。
[0085]如圖5 (a)_圖5 (b)以及圖6所示是不同情況下啟發(fā)式搜索算法的示意圖。
[0086]啟發(fā)式算法的整體思想是在擬合過程中加入算法,來模擬字形設計人員優(yōu)化輪廓的方法,目標是讓擬合出來的文字矢量輪廓更加平滑美觀。
[0087]圖5(a)中定義了關鍵點的角度:P_m是輪廓上的關鍵點,CPl和CP2是用最小二乘法擬合得到的貝賽爾曲線的離線控制點,則P_m的角度定義為向量(P_m,CPl)和(P_m,CP2)的內夾角。
[0088]在圖5 (b)中,如果P_i的夾角小于閾值(10度),且將P_i分為兩個點P_il和卩_i2,使得總的擬合誤差更小。
[0089]在圖6中,如果P_m的角度大于閾值(150度),那么就調整CP2的位置,使得CP1,P_m和CP2在同一條直線上,使得擬合得到的曲線輪廓更加光滑。
[0090]在本發(fā)明的一具體實施例中,個性化字庫生成的方法,包括以下步驟:
[0091]I)由用戶指定字庫中所包含的文字內容,并以文本的形式輸入;
[0092]2)將用戶給定的文字內容生成若干張A4大小的標準表格;
[0093]3)用戶打印表格,并按照要求在表格上書寫文字;
[0094]4)通過掃描儀將手寫的文字圖像采集到計算機;
[0095]5)將掃描得到的表格圖像一步生成標準TrueType字庫。
[0096]由表格圖像直接生成標準TrueType字庫的方法,包括以下步驟:
[0097]I)預處理圖像,包括表格圖像的旋轉和切分,文字圖像的邊緣檢測和輪廓檢測;
[0098]2)用刪除代價算法在文字的輪廓點中選出一部分作為關鍵點;
[0099]3)由步驟2)得到的關鍵點,結合動態(tài)規(guī)劃算法和啟發(fā)式搜索,將字形輪廓擬合成二次貝塞爾曲線和直線描述的矢量化形式,并在擬合過程中加入算法來模擬字形設計人員優(yōu)化輪廓的方法;
[0100]4)由文字的矢量化輪廓生成標準的TrueType字庫。
[0101]本發(fā)明使用自適應的參數(shù)設置方法,字庫的效果可通過多個參數(shù)進行靈活的控制,生成的字庫可在PC中直接安裝使用。系統(tǒng)生成的一款字庫在Word中的顯示效果見圖7 (a),同樣大小同樣內容的楷體字庫在Word中的顯示效果見圖7 (b)。
[0102]如圖7 (a)所示是本發(fā)明所述的個性化字庫安裝后在Word中顯示的示意圖。如圖7 (b)所示是本發(fā)明所述的楷體字庫在Word中顯示的示意圖。本發(fā)明使用自適應的參數(shù)設置方法,字庫的效果可通過多個參數(shù)進行靈活的控制,生成的字庫可在PC中直接安裝使用。系統(tǒng)生成的一款字庫在Word中的顯示效果見圖7 (a),同樣大小同樣內容的楷體字庫在Word中的顯示效果見圖7 (b)。
[0103]如圖8 (a)-8 (d)所示是本發(fā)明所述的方正靜蕾字體對比示意圖。其中,圖8 (a)是方正靜蕾字體“美”字經(jīng)打印和掃描之后得到的原圖,圖8 (b)是方正靜蕾字體的官方輪廓圖,圖8 (c)是用FontCreator軟件對圖8 (a)進行矢量化操作之后得到的輪廓圖,圖8(d)是使用本方法得到的矢量化輪廓圖,從圖中的細節(jié)可以看出,本方法得到的輪廓可以很好的保持原字的細節(jié)風格,并且使用的關鍵點數(shù)更少,從而節(jié)約了字庫文件的存儲空間。
[0104]如圖9所示是本發(fā)明所述的楷體“心”字的矢量化流程示意圖。
[0105]自上而下分別:掃描和切分后得到的漢字原圖,寬度優(yōu)先搜索得到的輪廓圖,深度優(yōu)先搜索得到的若干閉合輪廓,刪除代價算法得到的候選關鍵點在輪廓上的分布圖,經(jīng)過動態(tài)規(guī)劃算法優(yōu)化后得到的剩余關鍵點擬合得到的輪廓圖,經(jīng)過啟發(fā)式算法優(yōu)化之后得到的最終矢量化輪廓。
【權利要求】
1.一種快速制作矢量字庫的方法,其步驟包括: 1)指定待建立字庫中的文字內容并機器寫入一標準表格中; 2)在打印出的標準表格上按照書寫規(guī)范手寫入文字,同時以所述標準表格為單位采集所述手寫入文字得到若干表格圖像; 3)切分所述表格圖像得到單獨的文字圖像,并根據(jù)文字圖像中的像素點對所述文字圖像進行輪廓檢測得到文字閉合輪廓; 4)根據(jù)所述文字閉合輪廓選出其中部分點作為關鍵點,對所述關鍵點篩選后得到最優(yōu)關鍵點; 5)根據(jù)所述最優(yōu)關鍵點將該文字閉合輪廓擬合成二次貝塞爾曲線和直線描述的矢量化形式,得到文字的矢量化輪廓,根據(jù)所述矢量化輪廓生成標準的TrueType字庫。
2.如權利要求1所述的快速制作矢量字庫的方法,其特征在于,所述標準表格表設置以下幾個部分: 1)在表格邊緣處設置不少于4個黑色矩形標記區(qū), 2)在位于表格右上角設置用戶信息區(qū),標記至少包括用戶名字和對應字庫版本號的信息; 3)建立一文字書寫區(qū),所述文字書寫區(qū)包括錯字標記區(qū)域和文字字體提示; 4)設置頁碼識別區(qū)域和/或表格頁碼區(qū)域,將識別區(qū)域涂黑或者空白用來表示該位為I或O,用于人工或者機器識別 表格頁碼。
3.如權利要求2所述的快速制作矢量字庫的方法,其特征在于,所述切分所述表格圖像得到單獨的文字圖像的具體方法如下: O找到4個角的黑色矩形區(qū)域,識別出表格的傾斜角度,然后對表格進行旋轉,保持表格內的文字橫平豎直; 2)找到頁碼識別區(qū)域,識別出表格的編號;根據(jù)表格的編號在數(shù)據(jù)庫中的文件里查找該表格中所包含的文字內容,然后將表格切分為若干單個文字的圖像; 3)所述文字的圖像分辨率與表格相同,并對每個文字圖像以文字的Unicode編碼進行命名,并以bmp格式的文子圖像存儲在指定的文件夾中; 4)所述指定文件夾是每個用戶對應的一固定的獨立的文件夾,其中存儲著該用戶之前輸入的txt文件,已經(jīng)掃描得到的表格圖片,以及在生成字庫的過程中所得到的切分后和單個文字圖片和最后生成的字庫文件。
4.如權利要求1或3所述的快速制作矢量字庫的方法,其特征在于,根據(jù)文字圖像中的像素點對所述文字圖像進行輪廓檢測得到文字閉合輪廓的具體方法如下: 1)用寬度優(yōu)先搜索算法,檢測出文字的輪廓,找出本身顏色是黑色并且與白色像素相鄰的像素點,作為文字的輪廓點; 2)用深度優(yōu)先搜索算法,找到漢字輪廓中的閉合輪廓將每個輪廓點作為圖論模型中的節(jié)點;如果兩個輪廓點在彼此的8鄰域中,則它們對應的節(jié)點之間存在一條邊,接著用深度優(yōu)先搜索的算法,在該圖論模型中找出閉合的路徑,每一條閉合路徑都對應著一個閉合文子輪廊; 3)用刪除代價算法在所述閉合文字輪廓點中選出一部分作為關鍵點,每次都選取一個代價最小的輪廓點進行刪除,直到剩余的輪廓點數(shù)達到給定閾值;4)根據(jù)得到的所述關鍵點使用動態(tài)規(guī)劃算法和啟發(fā)式搜索來篩選出最優(yōu)的關鍵點; 5)根據(jù)所述最優(yōu)關鍵點并采用最小二乘法將字形輪廓擬合成二次貝塞爾曲線和直線描述的矢量化形式; 6)由文字的矢量化輪廓生成標準的TrueType字庫。
5.如權利要求4所述的快速制作矢量字庫的方法,其特征在于,在步驟5)中采用并用Newton Raphson算法來對擬合的結果進行參數(shù)上的優(yōu)化得到矢量化輪廓。
6.如權利要求1或2所述的快速制作矢量字庫的方法,其特征在于,以文本文件txt的形式將所述文字內容并機器寫入一標準表格中,文本包括中文漢字,英文字母,數(shù)字以及符號。
7.如權利要求1或2所述的快速制作矢量字庫的方法,其特征在于,按照如下書寫規(guī)范進行手與入文字: 用戶書寫時選用鋼筆和/或簽字筆,在每個小表格內只能書寫一個字符,并且書寫的字符不與表格的邊緣接觸;每個小表格左上方有兩個小正方形作為錯字標記區(qū)域,如果用戶書寫錯誤時,將該區(qū)域都涂黑。
8.如權利要求1或2所述的快速制作矢量字庫的方法,其特征在于,通過掃描儀將手寫的文字圖像采集到計算機,圖像輸入格式為黑白二值圖像。
9.如權利要求8所述的快速制作矢量字庫的方法,其特征在于,所述圖像分辨率優(yōu)選為 600dpi。
10.一種快速制作矢量`字庫的系統(tǒng),包括:計算機、打印機、掃描儀,其特征在于, 所述打印機,用于物理打印出指定待建立字庫中的文字內容并機器寫入一標準表格; 所述掃描儀,將手寫入文字圖像采集到計算機; 所述計算機包含實現(xiàn)以下功能的模塊: 用于指定待建立字庫中的文字內容并機器寫入一標準表格中的模塊; 用于在打印出的標準表格上按照書寫規(guī)范手寫入文字,同時以所述標準表格為單位采集所述手寫入文字得到若干表格圖像的模塊; 用于切分所述表格圖像得到單獨的文字圖像,并根據(jù)文字圖像中的像素點對所述文字圖像進行輪廓檢測得到文字閉合輪廓的模塊; 用于根據(jù)所述文字閉合輪廓選出其中部分點作為關鍵點,對所述關鍵點篩選后得到最優(yōu)關鍵點的模塊; 用于根據(jù)所述文字閉合輪廓擬合成二次貝塞爾曲線和直線描述的矢量化形式得到文字的矢量化輪廓,根據(jù)所述矢量化輪廓生成標準的TrueType字庫的模塊。
【文檔編號】G06F17/30GK103488711SQ201310407337
【公開日】2014年1月1日 申請日期:2013年9月9日 優(yōu)先權日:2013年9月9日
【發(fā)明者】潘婉瓊, 連宙輝, 唐英敏, 肖建國 申請人:北京大學