蔡志偉, 奚海丹, 田云松
(1.大連民族大學(xué) a.計算機科學(xué)與工程學(xué)院;b.大連市漢字計算機字庫設(shè)計技術(shù)創(chuàng)新中心,遼寧 大連 116605;2.沈陽開放大學(xué),遼寧 沈陽 110003)
筆畫是漢字的組成部分,研究漢字的組成結(jié)構(gòu)等離不開筆畫。統(tǒng)計漢字筆畫的編碼及筆畫類別、筆畫數(shù)量、各種筆畫在字庫中出現(xiàn)的頻率等數(shù)據(jù),對于基于筆畫的漢字輸入法和漢字的聯(lián)機手寫識別等方面具有重要的指導(dǎo)意義[1]。
漢字數(shù)以萬計,是中華民族傳統(tǒng)文化的核心和信息交流的主要工具。每個漢字不論簡體或繁體都需要按照筆畫順序進行書寫。因此,漢字的筆畫及其筆順對于漢字書寫和設(shè)計至關(guān)重要。
(1)漢字筆畫數(shù)據(jù)集現(xiàn)狀。林華[2]于2004年通過提取漢字筆畫輪廓線抽取漢字筆畫,實現(xiàn)計算機輔助漢字筆順教學(xué);吳建國等人[1]于2005年統(tǒng)計漢字筆畫的相關(guān)信息并將其應(yīng)用于標準鍵盤和數(shù)字鍵盤;導(dǎo)夫[3]于2013年按《漢字內(nèi)碼擴展規(guī)范》總筆畫數(shù)進行排序、統(tǒng)計。
(2)圖像分割現(xiàn)狀。覃學(xué)標等[4]于2023年提出基于目標檢測及邊緣支持的魚類圖像分割方法;齊小祥等[5]于2021年提出基于邊緣檢測的SAR圖像自適應(yīng)區(qū)域分割;李建華等[6]于2022年提出基于Canny算子和距離正則化水平集的乳腺植入物圖像分割算法。
表1 漢字筆畫種類示意圖
(2)漢字筆畫數(shù)據(jù)集中只含有總筆畫數(shù),未出現(xiàn)筆畫細節(jié)及個數(shù)?,F(xiàn)流行數(shù)據(jù)集大多只存儲漢字編碼、漢字字形、筆畫總數(shù)以及筆順等信息,丟失單個字形所含有的筆畫類別及數(shù)量信息如圖1。
圖1 漢字筆畫數(shù)據(jù)集示例
采用文獻[8]提出的漢字筆畫分割數(shù)據(jù)集(Chinese character stroke segment dataset,CCSSD),對漢字筆畫分割數(shù)據(jù)集進行筆畫統(tǒng)計,由于CCSSD將筆畫交叉區(qū)域劃分為新一類,并且將所屬橫折折撇的兩種寫法如圖2。記作兩類,共計34類,在統(tǒng)計漢字筆畫類別數(shù)量時,采用區(qū)域生長算法將交叉類歸還給原筆畫,根據(jù)連通域數(shù)量計算筆畫類別,采用統(tǒng)計學(xué)方法對漢字筆畫進行分析。
圖2 橫折折撇示例圖
區(qū)域生長算法是一種常用的圖像分割方法,其核心思想是通過將具有相同性質(zhì)的像素點逐步合并以實現(xiàn)圖像分割的目的。在該算法中,首先針對每個區(qū)域指定一個種子點作為生長節(jié)點,然后將其周圍的像素點與該種子點進行對比,將相似性質(zhì)的像素點合并至同一區(qū)域,隨后繼續(xù)對新的像素點進行對比,直至該區(qū)域的生長完成。而當沒有滿足條件的像素點被包含進來時,該區(qū)域的生長也即告結(jié)束。具體步驟見表2。
表2 區(qū)域生長算法步驟
本文采用應(yīng)用于圖像分割的CCSSD數(shù)據(jù)集,利用其灰度圖像,不同筆畫類別以不同灰度進行標注,筆畫交叉區(qū)域作為第34類,采用區(qū)域生長算法,從每個筆畫類別入手,采用八鄰域搜索,判斷周圍是否擁有筆畫交叉區(qū)域,若有將其歸屬于一類,判斷結(jié)束,根據(jù)連通分量進行統(tǒng)計筆畫數(shù)量并保存。具體流程如圖3。
圖3 基于區(qū)域生長算法的筆畫統(tǒng)計流程
區(qū)域生長算法的好壞取決于:1.初始點(即種子節(jié)點)的選取;2.生長準則;3.終止條件。為了提高算法的準確性,本算法采用每個筆畫類別的第一個像素值的位置作為種子節(jié)點,將相同類別和交叉類別作為生長準則,若無相同筆畫類別或交叉筆畫,則終止生長。
假設(shè)采用如圖4,大小為5×5的圖像矩陣,以7作為種子節(jié)點,像素生長準則為7或9,按照區(qū)域生長算法對該圖像進行分割。
圖4 圖像矩陣
采用八鄰域搜索方式加快查找速度,生長區(qū)域為7或9,第一次生長結(jié)果如圖5。第二次生長如圖6。
圖5 第一次生長結(jié)果
圖6 第二次生長結(jié)果
第三次生長可見周邊鄰域內(nèi)沒有滿足生長條件的像素點,故停止生長,至此,將生長區(qū)域標記為1,未生長區(qū)域標記為0,分割結(jié)果如圖7。
圖7 分割結(jié)果圖
標準宋體“安”字按照灰度圖分割所得筆畫如圖8,方正蘭亭黑“安”字分割所得筆畫如圖9??梢钥闯?算法適用于不同種類字體,且對于連通分量計算筆畫個數(shù)更為準確。
圖8 標準宋體“安”筆畫示意圖
圖9 方正蘭亭黑“安”筆畫示意圖
此外,本文采用連通域統(tǒng)計,計算各漢字各筆畫種類數(shù)量,并按照GB2312編碼順序?qū)⑵浒? 763個中文漢字進行編碼分析,由于橫折折撇有兩種寫法,但是同一個unicode編碼,故將這兩種歸屬于橫折折撇類,6 763個中文漢字共計32個種類,筆畫編號、類別及編碼見表3,其中每個含有該32個種類的漢字數(shù)量見表4。
表3 筆畫基本信息表
表4 含有32個筆畫的漢字數(shù)量
統(tǒng)計各種類筆畫總數(shù)量占比如圖10。基于筆畫的漢字輸入法鍵盤設(shè)計具有重大意義,從圖10可以看出,橫、豎、撇、點、橫折占比最多,說明字體設(shè)計中這五種作為常用筆畫。
圖10 筆畫總數(shù)量占比
字庫中包含某筆畫的漢字數(shù)量見表4??梢钥闯鳇c、橫、撇、豎、提作為基本筆畫,應(yīng)用廣泛。
本文構(gòu)建新數(shù)據(jù)集下載網(wǎng)址:https://github.com/caixiaocai1234/glyph。
構(gòu)建漢字筆畫數(shù)據(jù)集對于漢字的拼接組成具有重大意義,使用區(qū)域生長算法將交叉域歸還原筆畫,提高了筆畫數(shù)量計算的準確率,同時小筆畫數(shù)據(jù)集構(gòu)建有助于提高字體設(shè)計師設(shè)計效率,統(tǒng)計常用小筆畫分類有助于筆畫鍵盤布局設(shè)計。筆畫往往與筆順相關(guān)聯(lián),對于小筆畫分類的筆順分布還少之又少,如何利用算法進行小筆畫筆順分布以減少人力和時間,是當下主要研究之一。