亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種自由手寫拉丁字母識(shí)別方法

文檔序號(hào):6466973閱讀:351來(lái)源:國(guó)知局
專利名稱:一種自由手寫拉丁字母識(shí)別方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種手寫識(shí)別方法,尤其是涉及一種自由手寫拉丁字母識(shí)別方法。
背景技術(shù)
隨著信息技術(shù)的迅猛發(fā)展,各種手寫文字識(shí)別技術(shù)不斷深入,各種商用化識(shí)別系統(tǒng)投 入市場(chǎng)。目前,研究熱點(diǎn)集中在研制各種自由手寫體字母識(shí)別系統(tǒng),其中自由手寫拉丁字 母識(shí)別系統(tǒng)也是研制熱點(diǎn)之一。盡管拉丁字母識(shí)別字符集很小,但有些拉丁字母結(jié)構(gòu)、形 狀差別很小,彼此容易混淆,如在自由手寫a、 b、 q、 p、 n、 h等拉丁字母時(shí),它們之間 的差別很小,給自由手寫拉丁字母識(shí)別系統(tǒng)的識(shí)別率帶來(lái)了極大的影響。目前, 一些自由 手寫拉丁字母識(shí)別系統(tǒng),利用筆劃順序方向碼和相鄰兩筆劃位置關(guān)系碼作為一級(jí)特征來(lái)分 類,其中,筆劃順序方向碼有4方向碼和8方向碼,相鄰兩筆劃位置關(guān)系包括相連、相接、 交叉、平行和分離;再利用同一筆劃中的點(diǎn)特征如筆劃中點(diǎn)坐標(biāo)、筆劃起點(diǎn)坐標(biāo)等作為二 級(jí)特征來(lái)細(xì)分類,如筆劃起點(diǎn)坐標(biāo)、筆劃中點(diǎn)坐標(biāo)、筆劃末點(diǎn)坐標(biāo)、橫筆劃最高點(diǎn)、橫筆 劃最低點(diǎn)、豎筆劃最左點(diǎn)、豎筆劃最右點(diǎn)等特征點(diǎn)。該識(shí)別系統(tǒng)的識(shí)別過(guò)程,不管是一級(jí) 特征還是二級(jí)特征,都依賴于筆劃的提取和劃分,但很多自由手寫拉丁字母如a、 b、 q、 p、 n、 h等,筆劃特征比較模糊,而出現(xiàn)的圓弧部分比較多,所以選擇筆劃特征來(lái)識(shí)別拉丁字 母,大大降低了識(shí)別率。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種基于拉丁字母局部特征進(jìn)行多層分類,以減 小輸入的手寫拉丁字母匹配識(shí)別的搜索范圍,提高識(shí)別匹配速度,提高識(shí)別率的自由手 寫拉丁字母識(shí)別方法。
本發(fā)明解決上述技術(shù)問(wèn)題所采用的技術(shù)方案為 一種自由手寫拉丁字母識(shí)別方法, 包括以下步驟
① 對(duì)輸入終端設(shè)備的手寫拉丁字母的筆跡坐標(biāo)進(jìn)行釆集,并將采集到的筆跡坐標(biāo)實(shí) 時(shí)存儲(chǔ)到預(yù)先定義的結(jié)構(gòu)體數(shù)組中;
② 對(duì)存儲(chǔ)在結(jié)構(gòu)體數(shù)組中的筆跡坐標(biāo)及由筆跡坐標(biāo)轉(zhuǎn)換成矩陣形式存放構(gòu)成的筆 跡坐標(biāo)點(diǎn)陣進(jìn)行預(yù)處理,得到新筆跡坐標(biāo)點(diǎn)陣;
10③根據(jù)每個(gè)標(biāo)準(zhǔn)拉丁字母在手寫時(shí)存在的局部特征,對(duì)所有標(biāo)準(zhǔn)拉丁字母進(jìn)行多層 分類,得到多個(gè)輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母集合,具體過(guò)程為③ -1、第一層分類根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)是否為上下結(jié)構(gòu),直接將所有標(biāo)準(zhǔn)拉丁字母 分成上下結(jié)構(gòu)粗分類候選字母集合和非上下結(jié)構(gòu)粗分類候選字母集合,上下結(jié)構(gòu)粗分類 候選字母集合中包括手寫時(shí)本身具有上下結(jié)構(gòu)的標(biāo)準(zhǔn)拉丁字母和在書寫時(shí)引起的具有 上下結(jié)構(gòu)的標(biāo)準(zhǔn)拉丁字母,非上下結(jié)構(gòu)粗分類候選字母集合中包括除手寫時(shí)本身具有上 下結(jié)構(gòu)的標(biāo)準(zhǔn)拉丁字母以外的所有標(biāo)準(zhǔn)拉丁字母;③-2、第二層分類對(duì)于上下結(jié)構(gòu)粗 分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)的最后筆劃是否為橫筆劃將其分成橫筆 劃粗分類候選字母集合和非橫筆劃粗分類候選字母集合,并將這兩個(gè)粗分類候選字母集 合作為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母集合,橫筆劃粗分類候選字母集 合中包括手寫時(shí)本身最后筆劃為橫筆劃的標(biāo)準(zhǔn)拉丁字母和在書寫時(shí)引起的最后筆劃為 橫筆劃的標(biāo)準(zhǔn)拉丁字母,非橫筆劃粗分類候選字母集合中包括手寫時(shí)除本身最后筆劃為 橫筆劃的標(biāo)準(zhǔn)拉丁字母以外的所有標(biāo)準(zhǔn)拉丁字母;對(duì)于非上下結(jié)構(gòu)粗分類候選字母集 合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)的橫向穿越數(shù)H將其分成H-1、 H=2、 H-3和H-4粗 分類候選字母集合;③-3、第三層分類對(duì)于H-1粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉 丁字母手寫時(shí)的豎向穿越數(shù)S將其分成S4、 S=2、 S=3和S=4粗分類候選字母集合, 并將這四個(gè)粗分類候選字母集合作為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母 集合;對(duì)于H-2粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)上1/3部分的橫向穿 越數(shù)up將其分成up=l 、 up=2和up=3粗分類候選字母集合,并將up=2粗分類候選字母 集合和up=3粗分類候選字母集合作為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母 集合;對(duì)于H=3粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)的最優(yōu)豎向穿越數(shù) Maxs將其分成Maxs=l、 Maxs=2和Maxs=3粗分類候選字母集合,并將Maxs=2粗分類 候選字母集合和Maxs=3粗分類候選字母集合作為輸入的手寫拉丁字母匹配結(jié)果的粗分 類候選字母集合;對(duì)于11=4粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)下1/3部 分的橫向穿越數(shù)down將其分成down-l、 down=2和down=3粗分類候選字母集合,并 將down=2粗分類候選字母集合和down=3粗分類候選字母集合作為輸入的手寫拉丁字 母匹配結(jié)果的粗分類候選字母集合;③-4、第四層分類對(duì)于up=l粗分類候選字母集 合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)的豎向穿越數(shù)S1將其分成S14、 S^2和S^3粗分類 候選字母集合;對(duì)于Maxs-l粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)的新筆 跡坐標(biāo)點(diǎn)陣中的最后一個(gè)新筆跡坐標(biāo)點(diǎn)在該標(biāo)準(zhǔn)拉丁字母中的位置信息將其分成第一 左上位置、第一左下位置、第一右上位置和第一右下位置粗分類候選字母集合;對(duì)于 down=l粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)的豎向穿越數(shù)S2將其分成 S2=l、 S2=l和S2=3粗分類候選字母集合;③-5、第五層分類對(duì)于SK粗分類候選 字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)的新筆跡坐標(biāo)點(diǎn)陣中的最后一個(gè)新筆跡坐標(biāo)點(diǎn)在該標(biāo)準(zhǔn)拉丁字母中的位置信息將其分成第二左上位置、第二左下位置、第二右上位置和 第二右下位置粗分類候選字母集合;采用Sl-l粗分類候選字母集合相同的分法,將S^2 粗分類候選字母集合分成第三左上位置、第三左下位置、第三右上位置和第三右下位置 粗分類候選字母集合;采用Shl粗分類候選字母集合相同的分法,將Sl-3粗分類候選 字母集合分成第四左上位置、第四左下位置、第四右上位置和第四右下位置粗分類候選 字母集合;對(duì)于第一左上位置粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)是否存 在左向開口圓弧將其分成第一左向開口圓弧粗分類候選字母集合和第一非左向開口圓 弧粗分類候選字母集合,并將這兩個(gè)粗分類候選字母集合作為輸入的手寫拉丁字母匹配 結(jié)果的粗分類候選字母集合;采用第一左上位置粗分類候選字母集合相同的分法,將第 一左下、第一右上、第一右下位置粗分類候選字母集合分別分成第二左向開口圓弧和第 二非左向開口圓弧粗分類候選字母集合、第三左向開口圓弧和第三非左向開口圓弧粗分 類候選字母集合、第四左向開口圓弧和第四非左向開口圓弧粗分類候選字母集合;對(duì)于 S2=l粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)的新筆跡坐標(biāo)點(diǎn)陣中的最后一 個(gè)新筆跡坐標(biāo)點(diǎn)在該標(biāo)準(zhǔn)拉丁字母中的位置信息將其分成第五左上位置、第五左下位 置、第五右上位置和第五右下位置粗分類候選字母集合;采用S2=l粗分類候選字母集 合相同的分法,將S2=2粗分類候選字母集合分成第六左上位置、第六左下位置、第六 右上位置和第六右下位置粗分類候選字母集合;采用Sl=l粗分類候選字母集合相同的 分法,將S2=3粗分類候選字母集合分成第七左上位置、第七左下位置、第七右上位置 和第四右下位置粗分類候選字母集合;③-6、第六層分類對(duì)于第二左上位置粗分類候 選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)是否存在左向開口圓弧將其分成第五左向開口 圓弧粗分類候選字母集合和第五非左向開口圓弧粗分類候選字母集合,并將這兩個(gè)粗分 類候選字母集合作為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母集合;采用第二左 上位置粗分類候選字母集合相同的分法,將第二左下、第二右上、第二右下位置粗分類 候選字母集合分別分成第六左向開口圓弧和第六非左向開口圓弧粗分類候選字母集合、 第七左向開口圓弧和第七非左向開口圓弧粗分類候選字母集合、第八左向開口圓弧和第 八非左向開口圓弧粗分類候選字母集合;對(duì)于第三左上位置粗分類候選字母集合,再根 據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)是否存在左向開口圓弧將其分成第九左向開口圓弧粗分類候選 字母集合和第九非左向開口圓弧粗分類候選字母集合,并將這兩個(gè)粗分類候選字母集合
作為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母集合;采用第三左上位置粗分類候 選字母集合相同的分法,將第三左下、第三右上、第三右下位置粗分類候選字母集合分 別分成第十左向開口圓弧和第十非左向開口圓弧粗分類候選字母集合、第十一左向開口 圓弧和第十一非左向開口圓弧粗分類候選字母集合、第十二左向開口圓弧和第十二非左 向開口圓弧粗分類候選字母集合;對(duì)于第四左上位置粗分類候選字母集合,再根據(jù)標(biāo)準(zhǔn) 拉丁字母手寫時(shí)是否存在左向開口圓弧將其分成第十三左向開口圓弧粗分類候選字母集合和第十三非左向開口圓弧粗分類候選字母集合,并將這兩個(gè)粗分類候選字母集合作 為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母集合;釆用第四左上位置粗分類候選 字母集合相同的分法,將第四左下、第四右上、第四右下位置粗分類候選字母集合分別 分成第十四左向開口圓弧和第十四非左向開口圓弧粗分類候選字母集合、第十五左向開 口圓弧和第十五非左向開口圓弧粗分類候選字母集合、第十六左向開口圓弧和第十六非 左向開口圓弧粗分類候選字母集合;對(duì)于第五左上位置粗分類候選字母集合,再根據(jù)標(biāo) 準(zhǔn)拉丁字母手寫時(shí)是否存在左向開口圓弧將其分成第十七左向開口圓弧粗分類候選字 母集合和第十七非左向幵口圓弧粗分類候選字母集合,并將這兩個(gè)粗分類候選字母集合 作為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母集合;采用第五左上位置粗分類候 選字母集合相同的分法,將第五左下、第五右上、第五右下位置粗分類候選字母集合分
別分成第十八左向開口圓弧和第十八非左向開口圓弧粗分類候選字母集合、第十九左向 開口圓弧和第十九非左向開口圓弧粗分類候選字母集合、第二十左向開口圓弧和第二十 非左向開口圓弧粗分類候選字母集合;對(duì)于第六左上位置粗分類候選字母集合,再根據(jù) 標(biāo)準(zhǔn)拉丁字母手寫時(shí)是否存在左向開口圓弧將其分成第二十一左向開口圓弧粗分類候 選字母集合和第二十一非左向開口圓弧粗分類候選字母集合,并將這兩個(gè)粗分類候選字 母集合作為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母集合;采用第六左上位置粗 分類候選字母集合相同的分法,將第六左下、第六右上、第六右下位置粗分類候選字母 集合分別分成第二十二左向開口圓弧和第二十二非左向開口圓弧粗分類候選字母集合、 第二十三左向開口圓弧和第二十三非左向開口圓弧粗分類候選字母集合、第二十四左向 開口圓弧和第二十四非左向開口圓弧粗分類候選字母集合;對(duì)于第七左上位置粗分類候 選字母集合,再根據(jù)標(biāo)準(zhǔn)拉丁字母手寫時(shí)是否存在左向開口圓弧將其分成第二十五左向 開口圓弧粗分類候選字母集合和第二十五非左向開口圓弧粗分類候選字母集合,并將這 兩個(gè)粗分類候選字母集合作為輸入的手寫拉丁字母匹配結(jié)果的粗分類候選字母集合;采 用第七左上位置粗分類候選字母集合相同的分法,將第七左下、第七右上、第七右下位 置粗分類候選字母集合分別分成第二十六左向開口圓弧和第二十六非左向開口圓弧粗 分類候選字母集合、第二十七左向開口圓弧和第二十七非左向開口圓弧粗分類候選字母 集合、第二十八左向開口圓弧和第二十八非左向開口圓弧粗分類候選字母集合;
④ 根據(jù)輸入的手寫拉丁字母的局部特征,將輸入的手寫拉丁字母與步驟③得到的粗 分類候選字母集合進(jìn)行逐層匹配,得到與該輸入的手寫拉丁字母匹配的粗分類候選字母魚A.
采口 ;
⑤ 提取輸入的手寫拉丁字母的freeman鏈碼,計(jì)算該輸入的手寫拉丁字母的freeman 鏈碼和預(yù)先設(shè)定的字庫(kù)中與該輸入的手寫拉丁字母匹配的粗分類候選字母集合中每個(gè) 字母相應(yīng)的各個(gè)標(biāo)準(zhǔn)字母的最優(yōu)隱馬可夫模型的匹配概率,再?gòu)母鱾€(gè)匹配概率中獲取最 大匹配概率,將預(yù)先設(shè)定的字庫(kù)中與最大匹配概率對(duì)應(yīng)的標(biāo)準(zhǔn)字母確定為輸入的手寫拉丁字母的最終識(shí)別結(jié)果。
所述的步驟②包括以下具體步驟②-l、對(duì)存儲(chǔ)在結(jié)構(gòu)體數(shù)組中的筆跡坐標(biāo)進(jìn)行平 滑濾波、去除硬件噪聲及手寫時(shí)產(chǎn)生的毛刺和斷筆;②-2、利用聯(lián)機(jī)單點(diǎn)寬度手寫體的 線性規(guī)一化和非線性規(guī)一化算法對(duì)由經(jīng)過(guò)步驟②-l處理后的筆跡坐標(biāo)轉(zhuǎn)換成矩陣形式 存放構(gòu)成的筆跡坐標(biāo)點(diǎn)陣進(jìn)行線性規(guī)一化和非線性規(guī)一化處理,得到新筆跡坐標(biāo)點(diǎn)陣; ②-3、對(duì)經(jīng)過(guò)步驟②-2處理后得到的新筆跡坐標(biāo)點(diǎn)陣中丟失的有效特征點(diǎn)進(jìn)行補(bǔ)點(diǎn)操作。
所述的步驟②-2中的聯(lián)機(jī)單點(diǎn)寬度手寫體的線性規(guī)一化和非線性規(guī)一化算法為a1. 采用公知的坐標(biāo)框圖比例縮放和直接投影的方法,將由經(jīng)過(guò)步驟②-l處理后的筆跡坐標(biāo) 轉(zhuǎn)換成矩陣形式存放構(gòu)成的筆跡坐標(biāo)點(diǎn)陣線性規(guī)一化到標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣;a2.將標(biāo)準(zhǔn)坐標(biāo)
點(diǎn)陣中的標(biāo)準(zhǔn)坐標(biāo)點(diǎn)表示為(x,力,并將標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(x,少)劃分成非筆跡坐標(biāo)點(diǎn)和筆跡坐 標(biāo)點(diǎn);a3.計(jì)算標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(;c,;;)的密度函數(shù)t/(x,力,
"卜力-lr""^,力");£:§^^,其中,"為當(dāng)前所取標(biāo)準(zhǔn)坐標(biāo)點(diǎn)的位置上的
橫向密度,Ay為當(dāng)前所取標(biāo)準(zhǔn)坐標(biāo)點(diǎn)的位置上的豎向密度,^表示標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣的長(zhǎng) 度,其值為64; a4.根據(jù)標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(x,"的密度函數(shù)d(x,;;)計(jì)算標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(x,力的水
平密度投影函數(shù)/fW和垂直密度投影函數(shù)r(力,Z/(:c) = ^^(x,>0 + ],
roo=i^["o^)+^],其中,"",力為標(biāo)準(zhǔn)坐標(biāo)點(diǎn)",力的密度函數(shù),/xj表示標(biāo)準(zhǔn)
坐標(biāo)點(diǎn)陣的大小,其值為64x64, 和A為矯正系數(shù),其值均為0.1; a5.利用水平密 度投影函數(shù)i/(x)和垂直密度投影函數(shù)r(力進(jìn)行非線性規(guī)一化,求取新筆跡坐標(biāo)點(diǎn)陣,
附-X,x / ' w = SkO0x^^~,其中,/xJ表示標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣的大小,
" t,嚴(yán)1 &(力
其值為64x64; MxiV表示非線性規(guī)一化處理后得到的新筆跡坐標(biāo)點(diǎn)陣的大小,其值預(yù) 先設(shè)定為64x64; (m,")為新筆跡坐標(biāo)點(diǎn)陣中的坐標(biāo)點(diǎn);!、1,2,…,/, _/ = 1,2,.. , /。
所述的步驟④包括以下具體步驟 -1、判斷輸入的手寫拉丁字母是否為上下結(jié)構(gòu), 如果輸入的手寫拉丁字母是上下結(jié)構(gòu),則再判斷輸入的手寫拉丁字母的最后筆劃是否為 橫筆劃,如果是橫筆劃,則直接確定該輸入的手寫拉丁字母匹配的粗分類字母集合為橫
14筆劃粗分類候選字母集合,如果不是橫筆劃,則直接確定該輸入的手寫拉丁字母匹配的 粗分類字母集合為非橫筆劃粗分類候選字母集合;如果輸入的手寫拉丁字母不是上下結(jié) 構(gòu),則繼續(xù)執(zhí)行; -2、計(jì)算輸入的手寫拉丁字母的橫向穿越數(shù),當(dāng)橫向穿越數(shù)為1時(shí), 計(jì)算輸入的手寫拉丁字母的豎向穿越數(shù),根據(jù)不同的豎向穿越數(shù)直接確定該輸入的手寫 拉丁字母匹配的粗分類字母集合為S=l、 S=2、 S=3或S=4粗分類候選字母集合;當(dāng)橫 向穿越數(shù)為2時(shí),計(jì)算輸入的手寫拉丁字母上l/3部分的橫向穿越數(shù),當(dāng)字母上l/3部 分的橫向穿越數(shù)為2或3時(shí),直接確定該輸入的手寫拉丁字母匹配的粗分類字母集合為 up=2粗分類候選字母集合或up=3粗分類候選字母集合,當(dāng)字母上1/3部分的橫向穿越 數(shù)為1時(shí),計(jì)算輸入的手寫拉丁字母的豎向穿越數(shù),利用豎向穿越數(shù)再根據(jù)新筆跡坐標(biāo) 點(diǎn)陣中的最后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁字母中所處的位置及輸入的手寫拉 丁字母是否存在左向開口圓弧,確定該輸入的手寫拉丁字母匹配的粗分類字母集合;當(dāng) 11=3時(shí),計(jì)算輸入的手寫拉丁字母的最優(yōu)豎向穿越數(shù),當(dāng)最優(yōu)豎向穿越數(shù)為2或3時(shí), 直接確定該輸入的手寫拉丁字母匹配的粗分類字母集合為Maxs=2粗分類候選字母集合 或Max^3粗分類候選字母集合,當(dāng)最優(yōu)豎向穿越數(shù)為l時(shí),根據(jù)新筆跡坐標(biāo)點(diǎn)陣中的 最后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁字母中所處的位置及輸入的手寫拉丁字母是 否存在左向開口圓弧,確定該輸入的手寫拉丁字母匹配的粗分類字母集合;當(dāng)11=4時(shí), 計(jì)算輸入的手寫拉丁字母下1/3部分的橫向穿越數(shù),當(dāng)字母下1/3部分的橫向穿越數(shù)為 2或3時(shí),直接確定該輸入的手寫拉丁字母匹配的粗分類字母集合為down=2粗分類候 選字母集合或down=3粗分類候選字母集合,當(dāng)字母下1/3部分的橫向穿越數(shù)為1時(shí), 計(jì)算輸入的手寫拉丁字母的豎向穿越數(shù),利用豎向穿越數(shù)再根據(jù)新筆跡坐標(biāo)點(diǎn)陣中的最
后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁字母中所處的位置及輸入的手寫拉丁字母是否 存在左向開口圓弧,確定該輸入的手寫拉丁字母匹配的粗分類字母集合。
所述的步驟 -1中判斷輸入的手寫拉丁字母是否為上下結(jié)構(gòu)的方法為第一步,首 先自上而下一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定位 為正在掃描的當(dāng)前行,并將該行值定義為字符上界;再自下而上一行一行掃描新筆跡坐 標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定位為正在掃描的當(dāng)前行,并將該行值 定義為字符下界;第二步,從字符上界開始掃描至字符下界,記錄掃描過(guò)程中不存在新 筆跡坐標(biāo)點(diǎn)的空白行行數(shù),當(dāng)連續(xù)空白行行數(shù)大于等于3且連續(xù)空白行的最后一空白行 的下一行為非空白行時(shí),確定該輸入的手寫拉丁字母為上下結(jié)構(gòu)。
所述步驟④-2中輸入的手寫拉丁字母的橫向穿越數(shù)的計(jì)算過(guò)程為第一步,橫向掃 描新筆跡坐標(biāo)點(diǎn)陣中的每一行,記錄每一行掃描過(guò)程中每次由非新筆跡坐標(biāo)點(diǎn)轉(zhuǎn)變?yōu)樾?筆跡坐標(biāo)點(diǎn)的次數(shù),并將每一行各自轉(zhuǎn)變的次數(shù)確定為各自的初始橫向穿越數(shù);第二步, 比較新筆跡坐標(biāo)點(diǎn)陣中每一行的初始橫向穿越數(shù),找出各個(gè)初始橫向穿越數(shù)重復(fù)3次或 3次以上的所有初始橫向穿越數(shù),然后從這些初始橫向穿越數(shù)中找出最大的初始橫向穿越數(shù)作為該字母最終的橫向穿越數(shù);所述的步驟 -2中輸入的手寫拉丁字母的豎向穿越 數(shù)的計(jì)算過(guò)程為第一步,豎向掃描新筆跡坐標(biāo)點(diǎn)陣中的每一列,記錄掃描過(guò)程中每次 由非新筆跡坐標(biāo)點(diǎn)轉(zhuǎn)變?yōu)樾鹿P跡坐標(biāo)點(diǎn)的次數(shù),并將每一列各自轉(zhuǎn)變的次數(shù)確定為各自 的初始豎向穿越數(shù);第二步,比較新筆跡坐標(biāo)點(diǎn)陣中每一列的初始豎向穿越數(shù),找出各 個(gè)初始豎向穿越數(shù)重復(fù)3次或3次以上的所有初始豎向穿越數(shù),然后從這些初始豎向穿 越數(shù)中找出最大的初始豎向穿越數(shù)作為該字母最終的豎向穿越數(shù);所述的步驟 -2中輸 入的手寫拉丁字母上1/3部分的橫向穿越數(shù)和字母下1/3部分的橫向穿越數(shù)的計(jì)算過(guò)程 為第一步,首先自上而下一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn) 時(shí),將行值定位為正在掃描的當(dāng)前行,并將該行值定義為字符上界,記為ih再自下而 上一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定位為正在掃 描的當(dāng)前行,并將該行值定義為字符下界,記為i2;第二步,計(jì)算字母上l/3部分的上 分界行,記為i3, i3=il+l/3 (i2-il),將字符上界il到上分界行i3之間的行作為該輸入 的手寫拉丁字母上1/3部分;計(jì)算字母下1/3部分的下分界行,記為i4, i4=il+2/3(i2-il), 將下分界行i4到字符下界i2之間的行作為該輸入的手寫拉丁字母下1/3部分;第三步, 根據(jù)輸入的整個(gè)手寫拉丁字母的橫向穿越數(shù)的計(jì)算過(guò)程,得到字符上界il到上分界行 i3每一行的初始橫向穿越數(shù),找出各個(gè)初始橫向穿越數(shù)重復(fù)3次或3次以上的初始橫向 穿越數(shù),然后從這些初始橫向穿越數(shù)中找出最大的初始橫向穿越數(shù)作為該輸入的手寫拉 丁字母上1/3部分的橫向穿越數(shù);采用計(jì)算字母上1/3部分的橫向穿越數(shù)相同的方法, 得到字母下1/3部分的橫向穿越數(shù);所述的步驟 -2中輸入的手寫拉丁字母的最優(yōu)豎向
穿越數(shù)的計(jì)算過(guò)程為在計(jì)算新筆跡坐標(biāo)點(diǎn)陣中每一列的初始豎向穿越數(shù)的過(guò)程中,統(tǒng)
計(jì)各個(gè)初始豎向穿越數(shù)出現(xiàn)的次數(shù),將出現(xiàn)次數(shù)最多的初始豎向穿越數(shù)作為最優(yōu)豎向穿越數(shù)。
所述的步驟④-2中新筆跡坐標(biāo)點(diǎn)陣中的最后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁
字母中所處位置的判斷過(guò)程為第一步,自上而下一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇
到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定位為正在掃描的當(dāng)前行,并將該行值定義為字符上
界,記為ih自下而上一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí), 將行值定位為正在掃描的當(dāng)前行,并將該行值定義為字符下界,記為i2;自左而右一列
一列掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將列值定位為正在掃描的當(dāng) 前列,并將該列值定義為字符左界,記為jh自右而左一列一列掃描新筆跡坐標(biāo)點(diǎn)陣, 當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將列值定位為正在掃描的當(dāng)前列,并將該列值定義為字
符右界,記為j2;由字符上界il、字符下界i2、字符左界jl和字符右界j2構(gòu)成輸入的
手寫拉丁字母的最小矩形外接框;第二步,將最小矩形外接框平均劃分成左上小矩形框、
左下小矩形框、右上小矩形框和右下小矩形框四個(gè)小矩形框;第三步,判斷新筆跡坐標(biāo) 點(diǎn)陣中的最后一個(gè)新筆跡坐標(biāo)點(diǎn)位于左上小矩形框、左下小矩形框、右上小矩形框還是右下小矩形框,當(dāng)最后一個(gè)新筆跡坐標(biāo)點(diǎn)們于左上小矩形框時(shí),確定最后一個(gè)新筆跡坐 標(biāo)點(diǎn)處于該輸入的手寫拉丁字母的左上位置,當(dāng)最后一個(gè)新筆跡坐標(biāo)點(diǎn)們于左下小矩形 框時(shí),確定最后一個(gè)新筆跡坐標(biāo)點(diǎn)處于該輸入的手寫拉丁字母的左下位置,當(dāng)最后一個(gè) 新筆跡坐標(biāo)點(diǎn)們于右上小矩形框時(shí),確定最后一個(gè)新筆跡坐標(biāo)點(diǎn)處于該輸入的手寫拉丁 字母的右上位置,當(dāng)最后一個(gè)新筆跡坐標(biāo)點(diǎn)們于右下小矩形框時(shí),確定最后一個(gè)新筆跡 坐標(biāo)點(diǎn)處于該輸入的手寫拉丁字母的右下位置。
所述的步驟 -2中輸入的手寫拉丁字母是否存在左向開口圓弧的判斷過(guò)程為a.計(jì) 算新筆跡坐標(biāo)點(diǎn)陣中每一列的初始豎向穿越數(shù);b.從最右側(cè)列開始向左檢測(cè),找到初始 豎向穿越數(shù)不為O的第一列,將該列記為k; c.當(dāng)k-l列的初始豎向穿越數(shù)大于k列的 初始豎向穿越數(shù)時(shí),將k列定義為基準(zhǔn)列;當(dāng)k-l列的初始豎向穿越數(shù)小于k列的初始 豎向穿越數(shù)時(shí),終止檢測(cè),確定該字母不存在左向開口圓??;當(dāng)k-l列的初始豎向穿越 數(shù)等于k列的初始豎向穿越數(shù)時(shí),繼續(xù)向左檢測(cè),直到檢測(cè)到的列的初始豎向穿越數(shù)不 等于k列的初始豎向穿越數(shù)時(shí),將檢測(cè)到的列定義為基準(zhǔn)列;d.確定基準(zhǔn)列后,記錄下 基準(zhǔn)列的掃描線上的第m個(gè)穿入點(diǎn)的縱坐標(biāo)和第m個(gè)穿出點(diǎn)的縱坐標(biāo),同時(shí)記錄下基 準(zhǔn)列的左一列的掃描線上的第n個(gè)穿入點(diǎn)的縱坐標(biāo)和第n個(gè)穿出點(diǎn)的縱坐標(biāo), n^l,2,…,M, n^,2,…,N, M的值為基準(zhǔn)列的掃描線上的穿入點(diǎn)或穿出點(diǎn)的總個(gè)數(shù),N 的值為基準(zhǔn)列的左一列的掃描線上的穿入點(diǎn)或穿出點(diǎn)的總個(gè)數(shù);e.找出基準(zhǔn)列的掃描線 上的每一對(duì)穿入點(diǎn)和穿出點(diǎn)之間的中間點(diǎn);f.計(jì)算每一個(gè)中間點(diǎn)與第n個(gè)穿入點(diǎn)之間的 第一直線距離,并找出基準(zhǔn)列的左一列的掃描線上所有滿足第一直線距離小于等于2的 穿入點(diǎn),計(jì)算每一個(gè)中間點(diǎn)與第n個(gè)穿出點(diǎn)之間的第二直線距離,并找出基準(zhǔn)列的左一 列的掃描線上所有滿足第二直線距離小于等于2的穿出點(diǎn),!^1,2,…,N, N為基準(zhǔn)列的 左一列的掃描線上的穿入點(diǎn)或穿出點(diǎn)的總個(gè)數(shù);g.計(jì)算基準(zhǔn)列的左一列的掃描線上滿足 第一直線距離小于等于2的第p個(gè)穿入點(diǎn)與基準(zhǔn)列的左一列的掃描線上滿足第二直線距 離小于等于2的第p個(gè)穿出點(diǎn)的中間位置點(diǎn),并判斷基準(zhǔn)列的掃描線上與計(jì)算得到的各 個(gè)中間位置點(diǎn)處于同一行的點(diǎn)是否為非O點(diǎn),當(dāng)基準(zhǔn)列的掃描線上與計(jì)算得到的其中一 個(gè)中間位置點(diǎn)處于同一行的點(diǎn)為非O點(diǎn)時(shí),確定輸入的手寫拉丁字母存在左向開口圓弧, 當(dāng)基準(zhǔn)列的掃描線上與計(jì)算得到的各個(gè)中間位置點(diǎn)處于同一行的點(diǎn)均為0點(diǎn)時(shí),確定輸 入的手寫拉丁字母不存在左向開口圓弧,p^,2,…,P,當(dāng)基準(zhǔn)列的左一列的掃描線上所 有滿足第一直線距離小于等于2的穿入點(diǎn)的總個(gè)數(shù)小于等于基準(zhǔn)列的左一列的掃描線上 所有滿足第二直線距離小于等于2的穿出點(diǎn)的總個(gè)數(shù)時(shí),P的值為基準(zhǔn)列的左一列的掃 描線上所有滿足第一直線距離小于等于2的穿入點(diǎn)的總個(gè)數(shù),當(dāng)基準(zhǔn)列的左一列的掃描 線上所有滿足第一直線距離小于等于2的穿入點(diǎn)的總個(gè)數(shù)大于基準(zhǔn)列的左一列的掃描線 上所有滿足第二直線距離小于等于2的穿出點(diǎn)的總個(gè)數(shù)時(shí),P的值為基準(zhǔn)列的左一列的 掃描線上所有滿足第二直線距離小于等于2的穿出點(diǎn)的總個(gè)數(shù)。
17所述的步驟⑤包括以下具體步驟⑤-l、提取輸入的手寫拉丁字母的freeman鏈碼; ⑤-2、利用公知的Viterbi算法計(jì)算該輸入的手寫拉丁字母的freeman鏈碼和預(yù)先設(shè)定的字
庫(kù)中與該輸入的手寫拉丁字母匹配的粗分類候選字母集合中每個(gè)字母相應(yīng)的各個(gè)標(biāo)準(zhǔn) 字母的最優(yōu)隱馬可夫模型的匹配概率;⑤-3、利用公知的冒泡排序法對(duì)計(jì)算得到的各個(gè) 匹配概率進(jìn)行排序,獲取最大匹配概率;⑤-4、將預(yù)先設(shè)定的字庫(kù)中與最大匹配概率對(duì) 應(yīng)的標(biāo)準(zhǔn)字母確定為輸入的手寫拉丁字母的最終識(shí)別結(jié)果。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在考慮拉丁字母的多種寫法,提取不同寫法下拉丁 字母多種穩(wěn)定特征,利用一種特征對(duì)拉丁字母集合進(jìn)行一次分類,這樣可以將整個(gè)標(biāo)準(zhǔn) 拉丁字母集合分類成多個(gè)互有交集的小拉丁字母集合,作為識(shí)別時(shí)粗分類候選字母集 合,當(dāng)識(shí)別輸入的手寫拉丁字母時(shí),提取該輸入的手寫拉丁字母分類特征進(jìn)行層層特征 匹配,直到得到該字母匹配的粗分類候選字母集合,多種穩(wěn)定特征的提取保證了識(shí)別率, 字母集合層層分類和識(shí)別時(shí)的層層特征匹配到最后的粗分類候選字母集合,使得在輸入 的手寫拉丁字母識(shí)別時(shí),找到層層有規(guī)律搜索路徑,大大提高了識(shí)別速度。


圖l為本發(fā)明的流程示意圖2a為字母本身為上下結(jié)構(gòu)的手寫拉丁字母的示意圖; 圖2b為因自由手寫引起的上下結(jié)構(gòu)的手寫拉丁字母的示意圖一; 圖2c為因自由手寫引起的上下結(jié)構(gòu)的手寫拉丁字母的示意圖二; 圖2d為因自由手寫引起的上下結(jié)構(gòu)的手寫拉丁字母的示意圖三; 圖2e為因自由手寫引起的上下結(jié)構(gòu)的手寫拉丁字母的示意圖四; 圖3為判斷新筆跡坐標(biāo)點(diǎn)陣中的最后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁字母中所 處位置的判斷示意圖4為計(jì)算手寫拉丁字母Lx, Ly的著眼方向示意圖5a為橫向密度Zx的第一種取值的判定示意圖5b為橫向密度丄;c的第二種取值的判定示意圖5c為橫向密度ZJC的第三種取值的判定示意圖5d為橫向密度丄;c的第四種取值的判定示意圖5e為橫向密度Zx的第五種取值的判定示意圖6為左向開口圓弧的手寫字母示意圖7為一個(gè)手寫拉丁字母的筆跡示意圖8為圖7畫圈部分Freeman碼求取示意圖9為八方向Freeman碼定義圖10a為利用本發(fā)明的識(shí)別方法對(duì)其中一個(gè)輸入的手寫字母進(jìn)行識(shí)別后輸出的結(jié)果圖10b為利用本發(fā)明的識(shí)別方法對(duì)另一個(gè)輸入的手寫字母進(jìn)行識(shí)別后輸出的結(jié)果圖。
具體實(shí)施例方式
以下結(jié)合附圖實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
首先對(duì)預(yù)先設(shè)定在終端設(shè)備中的標(biāo)準(zhǔn)拉丁字母字庫(kù)進(jìn)行描述。
字庫(kù)包括52個(gè)標(biāo)準(zhǔn)拉丁字母,以及每個(gè)標(biāo)準(zhǔn)拉丁字母對(duì)應(yīng)的最優(yōu)隱馬可夫模型。
最優(yōu)隱馬可夫模型的獲取過(guò)程為
1) 、自然手寫52個(gè)拉丁字母100次,每手寫一個(gè)拉丁字母一次按照手寫的筆跡順 序,根據(jù)圖9所示的八方向freeman鏈碼定義示意圖求取該拉丁字母的所有筆跡經(jīng)過(guò)的 坐標(biāo)點(diǎn)的八方位方向碼,即freeman鏈碼,freeman鏈碼具有0、 1、 2、 3、 4、 5、 6和7 八個(gè)方向碼。這樣每個(gè)拉丁字母的一次手寫就可得到一串freeman鏈碼,手寫100次, 即可得到一個(gè)拉丁字母對(duì)應(yīng)的100串freeman鏈碼,將每個(gè)拉丁字母得到的100串 freeman鏈碼作為該拉丁字母的100個(gè)樣本。
2) 、將樣本輸入到初始隱馬可夫模型中進(jìn)行樣本訓(xùn)練,得到最優(yōu)隱馬可夫模型。具 體包括以下步驟第一步,確定狀態(tài)數(shù)L,觀察值個(gè)數(shù)G,并對(duì)初始隱馬可夫模型中的 模型參數(shù)進(jìn)行等概率初始化,由于freeman鏈碼具有O、 1、 2、 3、 4、 5、 6、 7八種值,故 在本實(shí)施例中取0=8,同時(shí)取L40, L一般取0 20之間的值,從理論上來(lái)說(shuō)L的值越大, 得到的最優(yōu)隱馬可夫模型越準(zhǔn)確,但L的值過(guò)大,不僅會(huì)增加計(jì)算復(fù)雜度,而且對(duì)終端 設(shè)備的CPU的要求將更高。第二步,將步驟l)得到的樣本作為初始隱馬可夫模型的觀 察值序列,采用公知的Baum-Welch迭代重估算法來(lái)優(yōu)化初始隱馬可夫模型中的模型參
數(shù),最終得到最優(yōu)隱馬可夫模型。
步驟2)中的Baum-Welch迭代重估算法是基于最陡梯度下降的局部?jī)?yōu)化算法,參 數(shù)估計(jì)時(shí)極易陷入局部最優(yōu)解,該Baum-Welch迭代重估算法不能保證找到全局最大點(diǎn), 其收斂的點(diǎn)可能是局部極大點(diǎn),為達(dá)到全局最優(yōu),可采用基于隨機(jī)松弛的離散隱馬可夫 參數(shù)全局優(yōu)化算法對(duì)初始隱馬可夫模型中的模型參數(shù)進(jìn)行全局優(yōu)化訓(xùn)練,最終得到最優(yōu) 隱馬可夫模型。
在標(biāo)準(zhǔn)拉丁字母字庫(kù)的基礎(chǔ)上,本發(fā)明的一種自由手寫拉丁字母識(shí)別方法,如圖l 所示,包括以下步驟
步驟①,對(duì)輸入終端設(shè)備的手寫拉丁字母(即待識(shí)對(duì)象)的筆跡坐標(biāo)進(jìn)行采集,并將采集到的筆跡坐標(biāo)實(shí)時(shí)存儲(chǔ)到預(yù)先定義的結(jié)構(gòu)體數(shù)組中;在此具體實(shí)施例中,終端設(shè) 備可以為手機(jī)、PDA (Personal Digital Assistant,個(gè)人數(shù)碼助理)等數(shù)字終端產(chǎn)品,終 端設(shè)備的輸入框設(shè)定為192x192點(diǎn)陣坐標(biāo)輸入框。
步驟②,對(duì)存儲(chǔ)在結(jié)構(gòu)體數(shù)組中的筆跡坐標(biāo)轉(zhuǎn)換成矩陣形式存放構(gòu)成的筆跡坐標(biāo)點(diǎn) 陣進(jìn)行預(yù)處理,預(yù)處理過(guò)程主要包括以下具體步驟
②-l、對(duì)存儲(chǔ)在結(jié)構(gòu)體數(shù)組中的筆跡坐標(biāo)進(jìn)行平滑濾波、去除存在的硬件噪聲及去 除手寫時(shí)產(chǎn)生的毛剌和斷筆。在此具體實(shí)施例中,平滑濾波、去除存在的硬件噪聲及去 除手寫時(shí)產(chǎn)生的毛剌和斷筆均采用現(xiàn)有的成熟技術(shù)進(jìn)行處理。
②-2、由于在手寫拉丁字母時(shí),手寫字母在形體結(jié)構(gòu)上與標(biāo)準(zhǔn)字母相比有較多不規(guī) 整的地方,使手寫字母的一些局部筆劃存在各種各樣的形變,這種形變會(huì)給后續(xù)的處理 帶來(lái)極大的影響,因此本發(fā)明提出了聯(lián)機(jī)單點(diǎn)寬度手寫體的線性規(guī)一化和非線性規(guī)一化 算法以矯正手寫字母的局部形變。
該算法對(duì)由經(jīng)過(guò)步驟②-l處理后的筆跡坐標(biāo)轉(zhuǎn)換成矩陣形式存放構(gòu)成的筆跡坐標(biāo) 點(diǎn)陣進(jìn)行線性規(guī)一化和非線性規(guī)一化處理,得到新筆跡坐標(biāo)點(diǎn)陣,達(dá)到對(duì)手寫字母的局 部形變矯正的目的。該算法的具體步驟如下
al.采用公知的坐標(biāo)框圖比例縮放和直接投影的方法,將由經(jīng)過(guò)步驟②-l處理后的 筆跡坐標(biāo)轉(zhuǎn)換成矩陣形式存放構(gòu)成的筆跡坐標(biāo)點(diǎn)陣線性規(guī)一化到64x64標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣, 線性規(guī)一化處理可以減少后續(xù)非線性規(guī)一化處理的運(yùn)算量,同時(shí)可增強(qiáng)非線性規(guī)一化處 理的可行性。
a2.將標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣中的標(biāo)準(zhǔn)坐標(biāo)點(diǎn)表示為(x,少),并將標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(x,少)劃分成非
筆跡坐標(biāo)點(diǎn)和筆跡坐標(biāo)點(diǎn)。非筆跡坐標(biāo)點(diǎn)為筆跡沒(méi)有劃過(guò)的地方,非筆跡坐標(biāo)點(diǎn)的左右 筆劃存在情況,包括左右均無(wú)筆劃、左邊有筆劃而右邊無(wú)筆劃及左右均有筆劃;筆跡坐 標(biāo)點(diǎn)為筆跡劃過(guò)的點(diǎn),筆跡坐標(biāo)點(diǎn)的左右筆劃存在情況也同樣有多種,包括左右均無(wú)筆
劃、左邊有筆劃而右邊無(wú)筆劃及左邊無(wú)筆劃而右邊有筆劃;筆劃可定義為從落筆到提筆
為1筆劃。
a3.計(jì)算標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(:c,力的密度函數(shù)d(;c,力,
小,力-jr"(M"^) ; S^g^,其中,"為當(dāng)前所取標(biāo)準(zhǔn)坐標(biāo)點(diǎn)的位置上的
橫向密度,丄y為當(dāng)前所取標(biāo)準(zhǔn)坐標(biāo)點(diǎn)的位置上的豎向密度,Z表示標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣的長(zhǎng) 度,其值為64。
a4.根據(jù)標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(x,力的密度函數(shù)計(jì)算標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(x,"的水平密度投
20影函數(shù)//00和垂直密度投影函數(shù)7(力,//(x)-t[^c,力+ ^], rCy) = ^["Oc,y)+"v],
少=1 x=l
其中,d(x,力為標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(x,》的密度函數(shù),/xJ表示標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣的大小,其值為 64x64; 和^為矯正系數(shù),其值均為O.l。矯正系數(shù)&和^的值從理論上來(lái)說(shuō)介于
,F(xiàn)(力t[d(x,力+ "J,其中,J(x,力為標(biāo)準(zhǔn)坐標(biāo)點(diǎn)(x,力的密度函數(shù),/xJ表示標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣的大小,其值為64x64, 和A為矯正系數(shù),其值均為0.1; a5.利用水平密度投影函數(shù)Z/0c)和垂直密度投影函數(shù)rO;)進(jìn)行非線性規(guī)一 化,求取新筆跡坐標(biāo)點(diǎn)陣,<formula>formula see original document page 6</formula>表示標(biāo)準(zhǔn)坐標(biāo)點(diǎn)陣的大小,其值為64x64; Mx7V表示非線性規(guī)一化處理后得到的新筆 跡坐標(biāo)點(diǎn)陣的大小,其值預(yù)先設(shè)定為64x64; O,n)為新筆跡坐標(biāo)點(diǎn)陣中的坐標(biāo)點(diǎn);/ = 1,2,...,/, 乂 = 1,2廣-乂。
4、根據(jù)權(quán)利要求1所述的一種自由手寫拉丁字母識(shí)別方法,其特征在于所述的步 驟④包括以下具體步驟④-l、判斷輸入的手寫拉丁字母是否為上下結(jié)構(gòu),如果輸入的手寫拉丁字母是上下結(jié)構(gòu),則再判斷輸入的手寫拉丁字母的最后筆劃是否為橫筆劃,如 果是橫筆劃,則直接確定該輸入的手寫拉丁字母匹配的粗分類字母集合為橫筆劃粗分類 候選字母集合,如果不是橫筆劃,則直接確定該輸入的手寫拉丁字母匹配的粗分類字母集合為非橫筆劃粗分類候選字母集合;如果輸入的手寫拉丁字母不是上下結(jié)構(gòu),則繼續(xù) 執(zhí)行; -2、計(jì)算輸入的手寫拉丁字母的橫向穿越數(shù),當(dāng)橫向穿越數(shù)為l時(shí),計(jì)算輸入 的手寫拉丁字母的豎向穿越數(shù),根據(jù)不同的豎向穿越數(shù)直接確定該輸入的手寫拉丁字母 匹配的粗分類字母集合為S=l、 S=2、 S=3或S=4粗分類候選字母集合;當(dāng)橫向穿越數(shù) 為2時(shí),計(jì)算輸入的手寫拉丁字母上1/3部分的橫向穿越數(shù),當(dāng)字母上l/3部分的橫向 穿越數(shù)為2或3時(shí),直接確定該輸入的手寫拉丁字母匹配的粗分類字母集合為up=2粗 分類候選字母集合或up=3粗分類候選字母集合,當(dāng)字母上1/3部分的橫向穿越數(shù)為1 時(shí),計(jì)算輸入的手寫拉丁字母的豎向穿越數(shù),利用豎向穿越數(shù)再根據(jù)新筆跡坐標(biāo)點(diǎn)陣中 的最后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁字母中所處的位置及輸入的手寫拉丁字母 是否存在左向開口圓弧,確定該輸入的手寫拉丁字母匹配的粗分類字母集合;當(dāng)H=3 時(shí),計(jì)算輸入的手寫拉丁字母的最優(yōu)豎向穿越數(shù),當(dāng)最優(yōu)豎向穿越數(shù)為2或3時(shí),直接 確定該輸入的手寫拉丁字母匹配的粗分類字母集合為Maxs=2粗分類候選字母集合或 Maxs=3粗分類候選字母集合,當(dāng)最優(yōu)豎向穿越數(shù)為1時(shí),根據(jù)新筆跡坐標(biāo)點(diǎn)陣中的最 后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁字母中所處的位置及輸入的手寫拉丁字母是否 存在左向開口圓弧,確定該輸入的手寫拉丁字母匹配的粗分類字母集合;當(dāng)11=4時(shí),計(jì) 算輸入的手寫拉丁字母下1/3部分的橫向穿越數(shù),當(dāng)字母下1/3部分的橫向穿越數(shù)為2 或3時(shí),直接確定該輸入的手寫拉丁字母匹配的粗分類字母集合為down=2粗分類候選 字母集合或down-3粗分類候選字母集合,當(dāng)字母下1/3部分的橫向穿越數(shù)為1時(shí),計(jì) 算輸入的手寫拉丁字母的豎向穿越數(shù),利用豎向穿越數(shù)再根據(jù)新筆跡坐標(biāo)點(diǎn)陣中的最后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁字母中所處的位置及輸入的手寫拉丁字母是否存 在左向開口圓弧,確定該輸入的手寫拉丁字母匹配的粗分類字母集合。
5、 根據(jù)權(quán)利要求4所述的一種自由手寫拉丁字母識(shí)別方法,其特征在于所述的步 驟 -1中判斷輸入的手寫拉丁字母是否為上下結(jié)構(gòu)的方法為第一步,首先自上而下一 行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定位為正在掃描的 當(dāng)前行,并將該行值定義為字符上界;再自下而上一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定位為正在掃描的當(dāng)前行,并將該行值定義為字符下 界;第二步,從字符上界開始掃描至字符下界,記錄掃描過(guò)程中不存在新筆跡坐標(biāo)點(diǎn)的空白行行數(shù),當(dāng)連續(xù)空白行行數(shù)大于等于3且連續(xù)空白行的最后一空白行的下一行為非空白行時(shí),確定該輸入的手寫拉丁字母為上下結(jié)構(gòu)。
6、 根據(jù)權(quán)利要求4所述的一種自由手寫拉丁字母識(shí)別方法,其特征在于所述步驟 -2中輸入的手寫拉丁字母的橫向穿越數(shù)的計(jì)算過(guò)程為第一步,橫向掃描新筆跡坐標(biāo) 點(diǎn)陣中的每一行,記錄每一行掃描過(guò)程中每次由非新筆跡坐標(biāo)點(diǎn)轉(zhuǎn)變?yōu)樾鹿P跡坐標(biāo)點(diǎn)的 次數(shù),并將每一行各自轉(zhuǎn)變的次數(shù)確定為各自的初始橫向穿越數(shù);第二步,比較新筆跡 坐標(biāo)點(diǎn)陣中每一行的初始橫向穿越數(shù),找出各個(gè)初始橫向穿越數(shù)重復(fù)3次或3次以上的 所有初始橫向穿越數(shù),然后從這些初始橫向穿越數(shù)中找出最大的初始橫向穿越數(shù)作為該 字母最終的橫向穿越數(shù);所述的步驟 -2中輸入的手寫拉丁字母的豎向穿越數(shù)的計(jì)算過(guò) 程為第一步,豎向掃描新筆跡坐標(biāo)點(diǎn)陣中的每一列,記錄掃描過(guò)程中每次由非新筆跡 坐標(biāo)點(diǎn)轉(zhuǎn)變?yōu)樾鹿P跡坐標(biāo)點(diǎn)的次數(shù),并將每一列各自轉(zhuǎn)變的次數(shù)確定為各自的初始豎向 穿越數(shù);第二步,比較新筆跡坐標(biāo)點(diǎn)陣中每一列的初始豎向穿越數(shù),找出各個(gè)初始豎向 穿越數(shù)重復(fù)3次或3次以上的所有初始豎向穿越數(shù),然后從這些初始豎向穿越數(shù)中找出 最大的初始豎向穿越數(shù)作為該字母最終的豎向穿越數(shù);所述的步驟 -2中輸入的手寫拉 丁字母上1/3部分的橫向穿越數(shù)和字母下1/3部分的橫向穿越數(shù)的計(jì)算過(guò)程為第一步, 首先自上而下一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定 位為正在掃描的當(dāng)前行,并將該行值定義為字符上界,記為il;再自下而上一行一行掃 描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定位為正在掃描的當(dāng)前行, 并將該行值定義為字符下界,記為i2;第二步,計(jì)算字母上1/3部分的上分界行,記為 i3, i3=il+l/3 (i2-il),將字符上界il到上分界行i3之間的行作為該輸入的手寫拉丁字 母上l/3部分;計(jì)算字母下1/3部分的下分界行,記為i4, i4=il+2/3 (i2-n),將下分界 行i4到字符下界i2之間的行作為該輸入的手寫拉丁字母下1/3部分;第三步,根據(jù)輸 入的整個(gè)手寫拉丁字母的橫向穿越數(shù)的計(jì)算過(guò)程,得到字符上界il到上分界行i3每一 行的初始橫向穿越數(shù),找出各個(gè)初始橫向穿越數(shù)重復(fù)3次或3次以上的初始橫向穿越數(shù), 然后從這些初始橫向穿越數(shù)中找出最大的初始橫向穿越數(shù)作為該輸入的手寫拉丁字母上1/3部分的橫向穿越數(shù);采用計(jì)算字母上1/3部分的橫向穿越數(shù)相同的方法,得到字 母下1/3部分的橫向穿越數(shù);所述的步驟④-2中輸入的手寫拉丁字母的最優(yōu)豎向穿越數(shù) 的計(jì)算過(guò)程為在計(jì)算新筆跡坐標(biāo)點(diǎn)陣中每一列的初始豎向穿越數(shù)的過(guò)程中,統(tǒng)計(jì)各個(gè) 初始豎向穿越數(shù)出現(xiàn)的次數(shù),將出現(xiàn)次數(shù)最多的初始豎向穿越數(shù)作為最優(yōu)豎向穿越數(shù)。
7、 根據(jù)權(quán)利要求4所述的一種自由手寫拉丁字母識(shí)別方法,其特征在于所述的步 驟④-2中新筆跡坐標(biāo)點(diǎn)陣中的最后一個(gè)新筆跡坐標(biāo)點(diǎn)在輸入的手寫拉丁字母中所處位 置的判斷過(guò)程為第一步,自上而下一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆 跡坐標(biāo)點(diǎn)時(shí),將行值定位為正在掃描的當(dāng)前行,并將該行值定義為字符上界,記為il; 自下而上一行一行掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將行值定位為 正在掃描的當(dāng)前行,并將該行值定義為字符下界,記為i2;自左而右一列一列掃描新筆 跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè)新筆跡坐標(biāo)點(diǎn)時(shí),將列值定位為正在掃描的當(dāng)前列,并將該 列值定義為字符左界,記為jl;自右而左一列一列掃描新筆跡坐標(biāo)點(diǎn)陣,當(dāng)遇到第一個(gè) 新筆跡坐標(biāo)點(diǎn)時(shí),將列值定位為正在掃描的當(dāng)前列,并將該列值定義為字符右界,記為 j2;由字符上界il、字符下界i2、字符左界jl和字符右界j2構(gòu)成輸入的手寫拉丁字母 的最小矩形外接框;第二步,將最小矩形外接框平均劃分成左上小矩形框、左下小矩形 框、右上小矩形框和右下小矩形框四個(gè)小矩形框;第三步,判斷新筆跡坐標(biāo)點(diǎn)陣中的最 后一個(gè)新筆跡坐標(biāo)點(diǎn)位于左上小矩形框、左下小矩形框、右上小矩形框還是右下小矩形 框,當(dāng)最后一個(gè)新筆跡坐標(biāo)點(diǎn)們于左上小矩形框時(shí),確定最后一個(gè)新筆跡坐標(biāo)點(diǎn)處于該 輸入的手寫拉丁字母的左上位置,當(dāng)最后一個(gè)新筆跡坐標(biāo)點(diǎn)們于左下小矩形框時(shí),確定 最后一個(gè)新筆跡坐標(biāo)點(diǎn)處于該輸入的手寫拉丁字母的左下位置,當(dāng)最后一個(gè)新筆跡坐標(biāo) 點(diǎn)們于右上小矩形框時(shí),確定最后一個(gè)新筆跡坐標(biāo)點(diǎn)處于該輸入的手寫拉丁字母的右上 位置,當(dāng)最后一個(gè)新筆跡坐標(biāo)點(diǎn)們于右下小矩形框時(shí),確定最后一個(gè)新筆跡坐標(biāo)點(diǎn)處于 該輸入的手寫拉丁字母的右下位置。
8、 根據(jù)權(quán)利要求6所述的一種自由手寫拉丁字母識(shí)別方法,其特征在于所述的步 驟④-2中輸入的手寫拉丁字母是否存在左向開口圓弧的判斷過(guò)程為a.計(jì)算新筆跡坐標(biāo) 點(diǎn)陣中每一列的初始豎向穿越數(shù);b.從最右側(cè)列開始向左檢測(cè),找到初始豎向穿越數(shù)不為0的第一列,將該列記為k; C.當(dāng)k-l列的初始豎向穿越數(shù)大于k列的初始豎向穿越 數(shù)時(shí),將k列定義為基準(zhǔn)列;當(dāng)k-l列的初始豎向穿越數(shù)小于k列的初始豎向穿越數(shù)時(shí), 終止檢測(cè),確定該字母不存在左向開口圓??;當(dāng)k-l列的初始豎向穿越數(shù)等于k列的初 始豎向穿越數(shù)時(shí),繼續(xù)向左檢測(cè),直到檢測(cè)到的列的初始豎向穿越數(shù)不等于k列的初始 豎向穿越數(shù)時(shí),將檢測(cè)到的列定義為基準(zhǔn)列;d.確定基準(zhǔn)列后,記錄下基準(zhǔn)列的掃描線 上的第m個(gè)穿入點(diǎn)的縱坐標(biāo)和第m個(gè)穿出點(diǎn)的縱坐標(biāo),同時(shí)記錄下基準(zhǔn)列的左一列的 掃描線上的第n個(gè)穿入點(diǎn)的縱坐標(biāo)和第n個(gè)穿出點(diǎn)的縱坐標(biāo),m-l,2,…,M, n=l,2/**,N,M的值為基準(zhǔn)列的掃描線上的穿入點(diǎn)或穿出點(diǎn)的總個(gè)數(shù),N的值為基準(zhǔn)列的左一列的掃 描線上的穿入點(diǎn)或穿出點(diǎn)的總個(gè)數(shù);e.找出基準(zhǔn)列的掃描線上的每一對(duì)穿入點(diǎn)和穿出點(diǎn) 之間的中間點(diǎn);f.計(jì)算每一個(gè)中間點(diǎn)與第n個(gè)穿入點(diǎn)之間的第一直線距離,并找出基準(zhǔn) 列的左一列的掃描線上所有滿足第一直線距離小于等于2的穿入點(diǎn),計(jì)算每一個(gè)中間點(diǎn) 與第n個(gè)穿出點(diǎn)之間的第二直線距離,并找出基準(zhǔn)列的左一列的掃描線上所有滿足第二 直線距離小于等于2的穿出點(diǎn),ip4,2,…,N, N為基準(zhǔn)列的左一列的掃描線上的穿入點(diǎn) 或穿出點(diǎn)的總個(gè)數(shù);g.計(jì)算基準(zhǔn)列的左一列的掃描線上滿足第一直線距離小于等于2 的第p個(gè)穿入點(diǎn)與基準(zhǔn)列的左一列的掃描線上滿足第二直線距離小于等于2的第p個(gè)穿 出點(diǎn)的中間位置點(diǎn),并判斷基準(zhǔn)列的掃描線上與計(jì)算得到的各個(gè)中間位置點(diǎn)處于同一行 的點(diǎn)是否為非0點(diǎn),當(dāng)基準(zhǔn)列的掃描線上與計(jì)算得到的其中一個(gè)中間位置點(diǎn)處于同一行 的點(diǎn)為非0點(diǎn)時(shí),確定輸入的手寫拉丁字母存在左向開口圓弧,當(dāng)基準(zhǔn)列的掃描線上與 計(jì)算得到的各個(gè)中間位置點(diǎn)處于同一行的點(diǎn)均為0點(diǎn)時(shí),確定輸入的手寫拉丁字母不存 在左向開口圓弧,p-l,2,…,P,當(dāng)基準(zhǔn)列的左一列的掃描線上所有滿足第一直線距離小 于等于2的穿入點(diǎn)的總個(gè)數(shù)小于等于基準(zhǔn)列的左一列的掃描線上所有滿足第二直線距離 小于等于2的穿出點(diǎn)的總個(gè)數(shù)時(shí),P的值為基準(zhǔn)列的左一列的掃描線上所有滿足第一直 線距離小于等于2的穿入點(diǎn)的總個(gè)數(shù),當(dāng)基準(zhǔn)列的左一列的掃描線上所有滿足第一直線 距離小于等于2的穿入點(diǎn)的總個(gè)數(shù)大于基準(zhǔn)列的左一列的掃描線上所有滿足第二直線距 離小于等于2的穿出點(diǎn)的總個(gè)數(shù)時(shí),P的值為基準(zhǔn)列的左一列的掃描線上所有滿足第二 直線距離小于等于2的穿出點(diǎn)的總個(gè)數(shù)。
9、根據(jù)權(quán)利要求1所述的一種自由手寫拉丁字母識(shí)別方法,其特征在于所述的步 驟(D包括以下具體步驟(D-l、提取輸入的手寫拉丁字母的freeman鏈碼;⑤-2、利用 公知的Viterbi算法計(jì)算該輸入的手寫拉丁字母的freeman鏈碼和預(yù)先設(shè)定的字庫(kù)中與該 輸入的手寫拉丁字母匹配的粗分類候選字母集合中每個(gè)字母相應(yīng)的各個(gè)標(biāo)準(zhǔn)字母的最 優(yōu)隱馬可夫模型的匹配概率;⑤-3、利用公知的冒泡排序法對(duì)計(jì)算得到的各個(gè)匹配概率 進(jìn)行排序,獲取最大匹配概率;⑤-4、將預(yù)先設(shè)定的字庫(kù)中與最大匹配概率對(duì)應(yīng)的標(biāo)準(zhǔn) 字母確定為輸入的手寫拉丁字母的最終識(shí)別結(jié)果。
全文摘要
本發(fā)明公開了一種自由手寫拉丁字母識(shí)別方法,優(yōu)點(diǎn)在考慮拉丁字母的多種寫法,提取不同寫法下拉丁字母多種穩(wěn)定特征,利用一種特征對(duì)拉丁字母集合進(jìn)行一次分類,這樣可以將整個(gè)標(biāo)準(zhǔn)拉丁字母集合分類成多個(gè)互有交集的小拉丁字母集合,作為識(shí)別時(shí)粗分類候選字母集合,當(dāng)識(shí)別輸入的手寫拉丁字母時(shí),提取該輸入的手寫拉丁字母分類特征進(jìn)行層層特征匹配,直到得到該字母匹配的粗分類候選字母集合,多種穩(wěn)定特征的提取保證了識(shí)別率,字母集合層層分類和識(shí)別時(shí)的層層特征匹配到最后的粗分類候選字母集合,使得在輸入的手寫拉丁字母識(shí)別時(shí),找到層層有規(guī)律搜索路徑,大大提高了識(shí)別速度。
文檔編號(hào)G06K9/62GK101452531SQ20081016277
公開日2009年6月10日 申請(qǐng)日期2008年12月1日 優(yōu)先權(quán)日2008年12月1日
發(fā)明者丁洪珍, 何加銘, 史智慧, 史愛軍, 張青波, 樊玲慧, 范周鎰, 賈德祥, 聞建芬, 平 陳, 靜 陳, 馬成臣 申請(qǐng)人:寧波新然電子信息科技發(fā)展有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1