專(zhuān)利名稱(chēng):手寫(xiě)體信息快速編輯排版方法和編輯符的識(shí)別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息編輯處理技術(shù),具體涉及一種對(duì)聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息和在脫機(jī) 狀態(tài)下獲取的已有手寫(xiě)文檔的數(shù)字化信息根據(jù)編輯指令進(jìn)行快速編輯排版的方法和對(duì)編輯 過(guò)程中輸入的編輯符的識(shí)別方法。
背景技術(shù):
現(xiàn)有技術(shù)中對(duì)于聯(lián)機(jī)狀態(tài)下輸入的信息進(jìn)行編輯的技術(shù)已經(jīng)非常成熟,但對(duì)于在聯(lián)機(jī)輸 入狀態(tài)下手寫(xiě)寫(xiě)入信息和在脫機(jī)狀態(tài)下獲取的已有手寫(xiě)文檔的掃描信息進(jìn)行編輯的技術(shù)很 少。經(jīng)過(guò)大量檢索發(fā)現(xiàn)微軟公司有關(guān)于手寫(xiě)體信息的編輯技術(shù),該編輯技術(shù)將待編輯文檔的 作為一個(gè)整體單元,通過(guò)選擇系統(tǒng)提供的編輯指令完成對(duì)待編輯文檔的編輯操作。但微軟公 司的手寫(xiě)體文字編輯技術(shù)存在一定技術(shù)缺陷,例如在執(zhí)行刪除操作時(shí),當(dāng)刪除掉整篇文檔中
的幾個(gè)文字或一段文字時(shí),被刪除部分為空白,受刪除操作影響的后面信息不能自動(dòng)跟進(jìn), 將空白間隙填補(bǔ),也就是在編輯操作后,不能實(shí)現(xiàn)再排版,這樣將對(duì)文檔的整體性產(chǎn)生影響。
在文檔的書(shū)寫(xiě)過(guò)程中如果需要對(duì)生成文檔進(jìn)行編輯,現(xiàn)有技術(shù)是采用通過(guò)鼠標(biāo)作為輔助 工具,通過(guò)鼠標(biāo)勾選需要編輯的信息,當(dāng)選中該信息后,在通過(guò)執(zhí)行相應(yīng)編輯命令完成對(duì)文 檔內(nèi)信息的編輯,雖然這種文檔編輯方法相比在紙件上直接進(jìn)行編輯修改能有效的提高編輯 效率和使整體文檔在編輯后的清潔性和整體性更好,但是這種編輯方法還需要增加輔助構(gòu)件 鼠標(biāo)等工具,而且編輯過(guò)程仍然稍許復(fù)雜,為了使對(duì)文檔信息的編輯更高效,申請(qǐng)?zhí)枮?94108177. X,名稱(chēng)為以筆勢(shì)符號(hào)為編輯指令的系統(tǒng)的發(fā)明專(zhuān)利公開(kāi)了 一種直接對(duì)文檔信息進(jìn) 行編輯的方法,該方法可以在書(shū)寫(xiě)信息的同時(shí),不需要借助鼠標(biāo)等工具直接進(jìn)行文檔信息的 編輯,操作過(guò)程中通過(guò)書(shū)寫(xiě)信息的手寫(xiě)筆等輸入構(gòu)件直接對(duì)文檔中的信息進(jìn)行編輯,并通過(guò) 手寫(xiě)筆等輸入構(gòu)件直接在文檔中劃入編輯符號(hào)就可以實(shí)現(xiàn)文檔信息輸入和編輯的同步高效 進(jìn)行,但這種編輯方法存在一定的技術(shù)問(wèn)題,因?yàn)樵搶?zhuān)利中所公開(kāi)的文檔編輯命令符號(hào)在文 檔中寫(xiě)入時(shí),系統(tǒng)要根據(jù)這些編輯符號(hào)的線段長(zhǎng)短、或符號(hào)中線條的傾斜角度與系統(tǒng)內(nèi)設(shè)的 符號(hào)點(diǎn)值參數(shù)進(jìn)行比對(duì),當(dāng)操作者寫(xiě)入的這些符號(hào)如果不規(guī)范,超出了系統(tǒng)內(nèi)設(shè)符號(hào)點(diǎn)值參 數(shù)可以識(shí)別的有效范圍時(shí),系統(tǒng)對(duì)這些符號(hào)便不能識(shí)別。這也相應(yīng)提高了操作者編輯文檔時(shí) 的難度,給編輯操作帶來(lái)了不便,所以該技術(shù)仍然存在技術(shù)缺陷。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中存在的在對(duì)聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息和在脫機(jī)狀態(tài)下獲取的已 有手寫(xiě)文檔的數(shù)字化信息進(jìn)行編輯完成后,不能實(shí)現(xiàn)再排版,影響文檔整體性的技術(shù)問(wèn)題, 本發(fā)明提供了 一種對(duì)手寫(xiě)體信息進(jìn)行快速編輯排版的方法。
為了解決現(xiàn)有技術(shù)中存在的對(duì)手寫(xiě)體編輯符的識(shí)別準(zhǔn)確率低的技術(shù)問(wèn)題,本發(fā)明提供了 一種編輯符的識(shí)別方法。
本發(fā)明解決現(xiàn)有技術(shù)中存在的第一個(gè)技術(shù)問(wèn)題所采用的技術(shù)方案為提供一種對(duì)手寫(xiě)體 信息進(jìn)行快速編輯排版的方法,所述對(duì)手寫(xiě)體信息進(jìn)行快速編輯排版的方法包括步驟第一、 將手寫(xiě)體信息進(jìn)行切分或合并處理成個(gè)體單位的獨(dú)立信息單元;第二、對(duì)切分或合并處理后
的所述手寫(xiě)體信息進(jìn)行編碼,建立支持編輯操作的索引,進(jìn)行索引計(jì)算,得出各獨(dú)立信息單元 在整體信息單元中的物理位置,并計(jì)算所述信息相對(duì)于顯示頁(yè)面的動(dòng)態(tài)索引;第三、輸入編 輯指令,執(zhí)行所述編輯指令完成對(duì)所迷手寫(xiě)體信息的編輯;第四、對(duì)每次執(zhí)行編輯指令后受到影響的信息單元進(jìn)行自動(dòng)排版。
根據(jù)本發(fā)明的 一優(yōu)選實(shí)施例所述第 一步中對(duì)所述手寫(xiě)體信息的切分包括操作者在聯(lián)機(jī) 輸入狀態(tài)下手寫(xiě)寫(xiě)入信息的切分和在脫機(jī)狀態(tài)下荻取的已有手寫(xiě)文檔的掃描信息的切分。
根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述操作者在聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息的切分方法包 括步驟 一、獲取操作者聯(lián)機(jī)寫(xiě)入的單行手寫(xiě)體信息;二、對(duì)所述單行手寫(xiě)體信息進(jìn)行投影;
三、 根據(jù)投影像素進(jìn)行計(jì)算,判斷,切分或合并得到單個(gè)手寫(xiě)體信息; 根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述脫機(jī)狀態(tài)下獲取的已有手寫(xiě)文檔的掃描信息的切分方
法包括步驟 一、讀入整篇在所述脫機(jī)狀態(tài)下獲取的已有手寫(xiě)體信息或圖片信息;二、將上 述已有手寫(xiě)體信息或圖片信息進(jìn)行格式轉(zhuǎn)化成系統(tǒng)可以識(shí)別的格式;三、分離出非文字信息;
四、 將轉(zhuǎn)化格式后的所述手寫(xiě)體信息進(jìn)行投影并根據(jù)投影像素進(jìn)行判斷,實(shí)施行切分;五、 對(duì)所述行切分信息根據(jù)投影像素進(jìn)行計(jì)算,判斷,切分或合并得到單個(gè)手寫(xiě)體信息。
根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所迷單個(gè)手寫(xiě)體信息的切分包括粗切分、重疊漢字的切分、 粘連漢字的切分。
根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述對(duì)輸入手寫(xiě)體信息的粗切分方法具體包括計(jì)算字符 左右邊界、字寬w,、平均字寬^、高寬比r,、平均高寬比7、字間距d,、平均字間距^, 引入判斷系數(shù)a和-,當(dāng)1",>"*7時(shí),作為合并的候選,當(dāng)r,乂-^^時(shí),作為切分的候選。
根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述重疊漢字的切分包括步驟 一、獲取待切分手寫(xiě)體信 息;二、對(duì)所述待切分手寫(xiě)體信息進(jìn)行像素的垂直投影;三、在相連的兩投影信息上確定投 影最低點(diǎn),并以該點(diǎn)為界進(jìn)行重疊漢字的切分。
根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述粘連漢字的切分包括步驟 一、通過(guò)傅立葉變換方法 確定粘連漢字;二、對(duì)所述粘連漢字進(jìn)行細(xì)化處理;三、確定切分點(diǎn)進(jìn)行粘連漢字的切分。
才艮據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述第三步中所述編輯指令為手寫(xiě)體編輯符或系統(tǒng)提供的 編輯選擇指令。
根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述第四步中對(duì)每次執(zhí)行編輯指令后受到影響的信息單元 進(jìn)行自動(dòng)排版包括步驟 一、執(zhí)行編輯指令完成編輯操作;二、調(diào)整受編輯影響各獨(dú)立信息 單元在整體信息單元中的物理位置;三、生成新的整體信息單元接受下次編輯操作。
本發(fā)明解決現(xiàn)有技術(shù)中存在的第二個(gè)技術(shù)問(wèn)題所采用的技術(shù)方案為提供一種手寫(xiě)體編 輯符的識(shí)別方法,所述手寫(xiě)體編輯符的識(shí)別方法包括步驟第一、將平面坐標(biāo)系劃分為8個(gè) 方位,通過(guò)系統(tǒng)采集到編輯符號(hào)的軌跡信息,計(jì)算出所述編輯符號(hào)軌跡在前后兩個(gè)坐標(biāo)之間 的變化向量;第二、 ^換方位對(duì)所述編碼符號(hào)進(jìn)行編碼,將編輯符號(hào)信息轉(zhuǎn)換成編碼信息,所 述編碼信息描述了所述編輯符號(hào)的結(jié)構(gòu)信息;第三、通過(guò)語(yǔ)法模式識(shí)別出所迷編輯符號(hào)的編 碼信息。
根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述第三步中所述語(yǔ)法模式為每個(gè)語(yǔ)法模式為一個(gè)數(shù)字 串,該數(shù)字串中的每個(gè)數(shù)字代表了與筆跡中該數(shù)字對(duì)應(yīng)的當(dāng)前點(diǎn)的位置與前一點(diǎn)的位置之間 的差向量最接近的方位。
本發(fā)明一種對(duì)手寫(xiě)體信息進(jìn)行快速編輯排版的方法有效的解決了現(xiàn)有技術(shù)中存在的技 術(shù)問(wèn)題,能靈活、快捷的對(duì)在聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息和在脫機(jī)狀態(tài)下獲取的已有手寫(xiě) 文檔的掃描信息進(jìn)行編輯,對(duì)于每次完成編輯操作后能馬上完成對(duì)文檔的再排版,使文檔內(nèi) 其余信息不受編輯4乘作的影響,經(jīng)過(guò)編輯后的文檔整體性不受影響。
本發(fā)明 一種手寫(xiě)體編輯符的識(shí)別方法有效的解決了現(xiàn)有技術(shù)中存在的系統(tǒng)要根據(jù)編輯 符號(hào)的線段長(zhǎng)短或符號(hào)中線條的傾斜角度與系統(tǒng)內(nèi)設(shè)的符號(hào)點(diǎn)值參數(shù)進(jìn)行比對(duì),當(dāng)操作者寫(xiě)
5入的編輯符號(hào)如果不規(guī)范,超出了系統(tǒng)內(nèi)設(shè)符號(hào)點(diǎn)值參數(shù)可以識(shí)別的有效范圍時(shí),系統(tǒng)對(duì)這 些符號(hào)變不能識(shí)別導(dǎo)致對(duì)編輯符的識(shí)別準(zhǔn)確率低的問(wèn)題。本發(fā)明中通過(guò)系統(tǒng)按方位對(duì)編碼符 號(hào)進(jìn)行編碼,并將編輯符號(hào)信息轉(zhuǎn)換成編碼信息,該編碼信息描述了編輯符號(hào)的結(jié)構(gòu)信息, 再通過(guò)系統(tǒng)語(yǔ)法模式識(shí)別出編輯符號(hào)的編碼信息由系統(tǒng)執(zhí)行編輯操作。所以只要操作者輸入 的編輯符號(hào)結(jié)構(gòu)是大體正確的,系統(tǒng)都能正確識(shí)別并做出準(zhǔn)確判斷,這樣就提高了操作的準(zhǔn) 確性和易用性,系統(tǒng)對(duì)編輯符的識(shí)別錯(cuò)誤率非常低。
圖1.本發(fā)明一種對(duì)手寫(xiě)體信息進(jìn)行快速編輯排版的方法流程圖2.單行手寫(xiě)體字符切分方法流程圖3.脫機(jī)手寫(xiě)體整篇漢字切分方法流程圖4. 二次線性插值算法壓縮圖像舉例示意圖5.二次線性插值算法原理圖6.位圖無(wú)損壓縮縮小處理流程困;
圖7.位圖無(wú)級(jí)放大處理流程圖8.初始索引的計(jì)算流程圖9.未編輯狀態(tài)下圖像的顯示流程圖10.編輯狀態(tài)下圖像的刷新顯示流程圖11.識(shí)別左選擇符時(shí)狀態(tài)機(jī)理圖12.識(shí)別右選擇符時(shí)狀態(tài)機(jī)理圖13.識(shí)別復(fù)制符時(shí)狀態(tài)枳J里圖14.識(shí)別粘貼符時(shí)狀態(tài);bL理圖15.識(shí)別插入符時(shí)狀態(tài)枳j理圖16.識(shí)別刪除符時(shí)狀態(tài)積J里圖17.識(shí)別剪切符時(shí)狀態(tài)機(jī)理圖18.識(shí)別縮進(jìn)(或空格)符時(shí)狀態(tài)機(jī)理圖19.識(shí)別回格符時(shí)狀態(tài)才兒理圖20.識(shí)別換行符時(shí)狀態(tài)^L理圖21.語(yǔ)法模式識(shí)別法狀態(tài)機(jī)理圖22.重疊漢字的切分示意圖23.粘連漢字的切分示意圖24.多行文檔切分方法舉例示意圖25.在當(dāng)前手寫(xiě)文檔中插入掃描的圖片化脫機(jī)文檔舉例示意圖; 圖26.根據(jù)密度比合并中原始單字圖像與對(duì)應(yīng)垂直投影對(duì)應(yīng)關(guān)系舉例示意圖; 圖27.編輯符結(jié)構(gòu)示意圖; 圖28.坐標(biāo)方位編碼表示意圖; 圖29.編輯文檔中的刪除操作演示示意圖; 圖30.編輯文檔中的插入操作演示示意圖; 圖31.其它相關(guān)編輯操作演示示意圖。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明
請(qǐng)參閱圖1本發(fā)明一種對(duì)手寫(xiě)體信息進(jìn)行快速編輯排版的方法流程圖,如圖1所示對(duì)手寫(xiě)體信息進(jìn)行快速編輯排版的方法包括步驟第一、獲取手寫(xiě)體信息;第二、將手寫(xiě)體信息 進(jìn)行切分或合并處理成個(gè)體單位的獨(dú)立信息單元;第三、對(duì)切分或合并處理后的所述手寫(xiě)體 信息進(jìn)行編碼,并根據(jù)需要對(duì)所述編碼進(jìn)行存儲(chǔ);第四、建立支持編輯操作的索引,進(jìn)行索引 計(jì)算,得出各獨(dú)立信息單元在整體信息單元中的物理位置,并計(jì)算所述信息相對(duì)于顯示頁(yè)面 的動(dòng)態(tài)索引;第五、輸入編輯指令,執(zhí)行所述編輯指令完成對(duì)所述手寫(xiě)體信息的編輯;第六、 對(duì)每次執(zhí)行編輯指令后受到影響的信息單元進(jìn)行自動(dòng)排版。
其中,第一步中獲取手寫(xiě)體信息包括獲取聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息或在脫機(jī)狀態(tài)下 獲取的已有手寫(xiě)文檔的掃描信息。本發(fā)明中所述的編輯方法也可以適用于對(duì)非手寫(xiě)信息的編 輯。
第二步完成對(duì)在聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息的切分或在脫機(jī)狀態(tài)下獲取的已有手寫(xiě) 文檔的掃描信息的切分。具體包括所述操作者在聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息的切分方法 包括步驟 一、獲取操作者聯(lián)機(jī)寫(xiě)入的單行手寫(xiě)體信息;二、對(duì)所迷單行手寫(xiě)體信息進(jìn)行投 影;三、根據(jù)投影像素進(jìn)行計(jì)算,判斷,切分或合并得到單個(gè)手寫(xiě)體信息。所述脫機(jī)狀態(tài)下 獲取的已有手寫(xiě)文檔的掃描信息的切分方法包括步驟 一、讀入整篇在所述脫機(jī)狀態(tài)下獲取 的已有手寫(xiě)體信息或圖片信息;二、將上述已有手寫(xiě)體信息或圖片信息進(jìn)行格式轉(zhuǎn)化成系統(tǒng) 可以識(shí)別的格式;三、分離出無(wú)需進(jìn)一步切分的非文字信息;四、將轉(zhuǎn)化格式后的所述手寫(xiě) 體信息進(jìn)行投影并根據(jù)投影像素進(jìn)行判斷,實(shí)施行切分;五、對(duì)所述行切分信息根據(jù)投影像 素進(jìn)行計(jì)算,判斷,切分或合并得到單個(gè)手寫(xiě)體信息。所述單個(gè)手寫(xiě)體信息的切分包括粗切 分、重疊漢字的切分、粘連漢字的切分。
第五步中所述編輯指令為手寫(xiě)體編輯符或系統(tǒng)提供的編輯選擇指令。 第六步中對(duì)每次執(zhí)行編輯指令后受到影響的信息單元進(jìn)行自動(dòng)排版包括步驟 一、執(zhí)行 編輯指令完成編輯操作;二、調(diào)整受編輯影響各獨(dú)立信息單元在整體信息單元中的物理位置;
三、生成新的整體信息單元接受下次編輯操作。
具體展開(kāi)說(shuō)明切分處理或合并處理的實(shí)現(xiàn)方法及算法。
本發(fā)明一種對(duì)手寫(xiě)體信息進(jìn)行快速編輯排版的方法是針對(duì)文字信息進(jìn)行編輯。對(duì)于輸 入構(gòu)件寫(xiě)入的字符,必須進(jìn)行準(zhǔn)確快速的切分以獲得正確的單信息集而對(duì)于圖畫(huà)和完整 地公式等,并不需要進(jìn)行切分,直接進(jìn)行縮放處理,對(duì)于借助掃描儀等設(shè)備讀入的整篇手寫(xiě) 文字圖像中如果有圖畫(huà)和完整地公式等,也不需要進(jìn)行切分。
切分部分采用了兩階段切分方法粗切分和細(xì)切分,細(xì)切分包括重疊字切分和粘連字的 切分。
聯(lián)機(jī)輸入的漢字切分
第一、粗切分。對(duì)于從輸入?yún)^(qū)獲取的單行手寫(xiě)體字符圖像,首先對(duì)單行圖像進(jìn)行垂直投 影。根據(jù)像素空白處進(jìn)行粗切分,獲得粗切分字段集,并計(jì)算字符左右邊界、字寬w,、平 均字寬、高寬比r,、平均高寬比"字間距",、平均字間距S。通過(guò)對(duì)不同人的大量手寫(xiě) 體漢字訓(xùn)練發(fā)現(xiàn),同一個(gè)筆記者完整漢字的高寬比在一定范圍內(nèi)/3承7和cr *^即變化。當(dāng) r,〉o^7時(shí),作為合并的候選,而1",</9*7,將其作為再切分的候選。
第二、重疊漢字的切分
重疊字,是指兩個(gè)漢字垂直投影重疊,但是沒(méi)有共享的像素。舉例如附圖"所示。 本方法中中我們提出一種基于連通城和垂直投影的重疊字切分算法。首先對(duì)于w>^* 6 或者高寬比r〉-八的部分,將其作為候選。對(duì)候選圖像,求背景(圖中為白色)求連通域, 如果連通域的高度等于候選圖像的高度,則證明該候選為重疊漢字,進(jìn)行重疊字的切分。首先對(duì)候選圖像,進(jìn)行像素垂直投影,在中間位置一定范圍內(nèi)(經(jīng)驗(yàn)值)找到投影最低 點(diǎn)c,作為候選切分位置。如附圖22中豎線標(biāo)注,即為候選位置處粗切分線。以位置c為 中心,對(duì)圖像作加窗處理,窗口寬度為K如附圖22中點(diǎn)線標(biāo)注所示。從上到下按行r,處理, 如果粗分線經(jīng)過(guò)背景,則該位置加入到切分位置數(shù)組,slicek,]=c。否則的話,粗分線在 該行經(jīng)過(guò)前景點(diǎn)。判斷筆畫(huà)的歸屬。方法填充窗口內(nèi)該行c列往右的像素為前景,然后 通過(guò)前述的計(jì)算背景連通域高度的方法,判斷連通性。如果不連通了,說(shuō)明筆畫(huà)屬于左邊, 我們求出該點(diǎn)開(kāi)始粗分線右邊的前景連通域,把該連通域的每行最右點(diǎn)對(duì)應(yīng)的列。加入到切 分位置數(shù)組,即slice[r,]- 。。然后繼續(xù)處理連通域最后一行的下一行,直至處理完所有 行。判斷筆畫(huà)屬于右邊漢字的處理過(guò)程相似。如果左右填充后,均連通,則應(yīng)用高寬比、字 寬等知識(shí)判斷其歸屬,然后采用求slice數(shù)組的方法。根據(jù)slice數(shù)組中的值,將原來(lái)重疊 的漢字,分成獨(dú)立的漢字,如附圖22所示結(jié)果。紅色像素左邊和右邊分別為一個(gè)完整的漢 字。
第三、粘連漢字的切分 粘連漢字的切分舉例如附圖23所示。
粘連漢字,指的是兩個(gè)漢字不僅垂直投影重疊,而且有筆畫(huà)連接在一起,共享一定像素 區(qū)域。用傅立葉變換方法判斷其是否為粘連字段。若為粘連字段,近一步切分成幾個(gè)單字符。 切分方法為首先對(duì)原圖像進(jìn)行細(xì)化操作,得到細(xì)化圖像,原圖像垂直投影,得到粗切分列 的位置c (圖中豎直線對(duì)應(yīng)的位置)。對(duì)于粘連漢字中的三種點(diǎn)叉點(diǎn)、端點(diǎn)和角點(diǎn),其中 叉點(diǎn)、角點(diǎn)可作為候選點(diǎn)。細(xì)化圖像中從粗切分位置向兩邊掃描尋找候選分割點(diǎn),對(duì)應(yīng)細(xì)化 圖像中所示A、 B兩點(diǎn)為找到的叉點(diǎn)候選點(diǎn)。結(jié)合漢字高寬比、字寬、方差等信息,選擇一 個(gè)合適的候選,本例中為B點(diǎn)。因?yàn)锽在粗切分右邊,所以在原圖像中,把從B點(diǎn)開(kāi)始的向 左和向下方向的連續(xù)前景(黑色)變?yōu)楸尘?白色)。若為左側(cè),則向右向下改變連續(xù)前景 為背景。改變后的圖像如前景變背景效果圖所示。至此,我們可采用重疊字的切分方法進(jìn)行 切分,得到切分結(jié)果顯示。
上述單行手寫(xiě)體字符切分方法流程圖可以參閱圖2 脫機(jī)文字圖像切分
讀入整篇手寫(xiě)體字符圖像,用戶首先標(biāo)示出該文字圖像中不需要切分的信息單元,如字 圖像、公式等。對(duì)余下部分,系統(tǒng)判斷其是否為多行圖像。對(duì)多行圖像的切分方法為對(duì)多 行文本圖像進(jìn)行水平投影發(fā)現(xiàn),不同行的像素投影重疊現(xiàn)象嚴(yán)重,這是由于文本行書(shū)寫(xiě)時(shí)切 斜所造成的。而書(shū)寫(xiě)傾斜是無(wú)限制自由手寫(xiě)體漢字書(shū)寫(xiě)中的常見(jiàn)問(wèn)題,因此多行切分需重點(diǎn) 解決這一問(wèn)題。解決的思想是對(duì)于總體趨勢(shì)傾斜的行,我們可以將其分為若千個(gè)切斜角度 很小的行拼接成的。這樣,將一整篇文檔(高為、寬為w )劃分為6 (經(jīng)驗(yàn)值)篇高為A, 寬度1/6*^的子文檔。對(duì)每篇子文檔根據(jù)水平投影切分,切分過(guò)程與單行粗切分思想相同。 然后按對(duì)應(yīng)行號(hào)將子行重新合并成行。然后我們對(duì)每一行文字,釆取與聯(lián)機(jī)輸入漢字圖像切 分相同的策略進(jìn)行切分,該切分方法流程圖可以參閱圖3。具體多行文檔切分方法舉例可參 閱附圖24。
在當(dāng)前手寫(xiě)文檔中插入掃描的圖片化脫機(jī)文檔的例子可以參閱附圖2 5: 過(guò)分部分合并。許多漢字都是左右結(jié)構(gòu)的,這樣當(dāng)書(shū)寫(xiě)比較分散時(shí),粗切分會(huì)將該漢字 的左右部分切分成兩個(gè)以上部分。必須釆取算法將它們合并。本方法中我們結(jié)合3種方法進(jìn) 行合并,保證合并的準(zhǔn)確。實(shí)驗(yàn)證明,取得了很好的效果。這三一、 根據(jù)高寬比合并
用p,表示第i部分,其高寬比對(duì)應(yīng)為r, Do (〃合并候選表List
計(jì)算合并前方差Sj
Pi=List. get(0); 〃讀List表頭元素
List. Delete (0); 〃讀取后刪除頭元素
Float Lr=Rate(p,, p,— );〃Rate()計(jì)算p,左合并的高寬比并附值Lr Float Rr=Rate(p,, p,+l); 〃 p,右合并后高寬比并附{直Rr If (Lr >"*7) {〃左合并后仍是候選
P-Merge(p,, p,一,); //合并p,和p,一為p;
List. Add (0, p);〃p添加到表頭以便繼續(xù)處理
else If (Rr 〉a*r) {〃右合并后仍是候選 P=Merge(p,., p,+,); 〃合并p,和p,+1為p; List. Add (0, p);〃p添加到表頭以便繼續(xù)處理
else {
r = Lr和RR中更接近7的一個(gè); if(Lr比RR接近7) P-Merge(p,, p,—,); else P=Merge(p,, p,.+1); 重新計(jì)算高寬比方差S; If (r<》"I I w>w*S I I S > "S,)( Cancel (); 〃取消不合理的合并
}
}while (List不為空);
二、 根據(jù)密度比合并
同時(shí)訓(xùn)練發(fā)現(xiàn),相鄰的兩個(gè)部分,例如p,, p,+l。如果,p,的像素?cái)?shù)量與Pw的像素?cái)?shù) 量比值大于一定閾值,則在直方圖投影上,顯示出明顯的密度大小差距,即相鄰兩個(gè)部分投 影面積的差距很明顯。具體舉例可以參閱附圖26。
我們通過(guò)計(jì)算某個(gè)部分的密度值,結(jié)合考慮漢字高寬比,字間距、密度比等信息,從左 右鄰居中選擇最合適的一個(gè)與其合并。合并后也必須保證高寬比方差減小并且r〉/ 沐7,并 且合并后字寬小于;* 6 ,否則取消合并。
三、 根據(jù)間距合并
根據(jù)人們的書(shū)寫(xiě)習(xí)慣,以及訓(xùn)練結(jié)果顯示,人們書(shū)寫(xiě)漢字時(shí),往往字間的距離要大于漢 字部首間的距離。如果相鄰兩個(gè)部分的間距小于平均字間距^,則考慮合并這兩個(gè)部分。當(dāng) 然,結(jié)合考慮漢字高寬比,字間距等信息,從左右鄰居中選擇最合適的一個(gè)與其合并。對(duì)于 不合適的合并要予以取消。
壓縮部分的實(shí)現(xiàn)方法及算法
壓縮部分的主要功能是完成對(duì)切分后的文字圖像進(jìn)行無(wú)損壓縮存儲(chǔ),將輸入的文字的 手寫(xiě)特征盡可能多的保存下來(lái),提供給索引作存儲(chǔ)要占用盡可能少的存儲(chǔ)空間同時(shí),對(duì)編
9輯顯示狀態(tài)下的候選文字作放大的操作,要保證文字的無(wú)限放大不失真,無(wú)鋸齒,保留原有 書(shū)法特4正。
傳統(tǒng)的圖像放大算法是將每一象素在水平和垂直的方向上重復(fù)顯示若干次,而縮小算法 是將源文件每隔若干個(gè)象素取出一個(gè)象素。這種簡(jiǎn)單的放大方法對(duì)于灰度圖像,偽彩和真彩 色圖像來(lái)說(shuō),還勉強(qiáng)可以接受,量化后相鄰象素間的差值不是很大。但對(duì)于二值圖像來(lái)說(shuō),放 大后會(huì)形成色塊,圖像反差強(qiáng)烈,效果不佳,特別是曲線或存在噪聲的情況下,這一現(xiàn)象尤為 明顯。
本方法中的圖像的預(yù)處理采用基于雙線性插值的縮放算法,縮小采用基于像素交迭的等 權(quán)值矩陣縮小算法;放大采用邊緣檢測(cè)算法,位圖形狀轉(zhuǎn)化為矢量圖形,再進(jìn)行像素填充的 方法進(jìn)行縮放處理。
第一、切分圖像的歸一化壓縮處理二次線性插值算法壓縮圖像舉例示意圖如圖4所示。 縮放映射原理
— 0) /(Sw廳-0) = (A — 0) /(Z)w融—0) & = Z)/Sw淑/ Z)w融 (S少—0) /(幼/g似—0) = (A — 0) /(DWg似一 0)
W幼妙/ /飾妙f
聚焦看看(Sx, Sy)坐標(biāo)點(diǎn)(Sx, Sy為浮點(diǎn)數(shù))附近的情況,如圖5所示。
二次線性插值需要考慮(Sx,Sy)坐標(biāo)點(diǎn)周?chē)?4 個(gè)顏色值 ColorO\Colorl\Color2\Color3,把(Sx,Sy)到A\B\C\D坐標(biāo)點(diǎn)的距離作為系數(shù)來(lái)把4個(gè)顏色 混合出縮放后點(diǎn)的顏色;(u=Sx-floor (Sx); v=Sy-f loor (Sy);說(shuō)明floor函數(shù)的返回值為
小于等于參數(shù)的最大整數(shù)) 二次線性插值公式為
鄉(xiāng)Co/wO = Co/orO * (1 — w) + CWor2 * w 加/ Co/orl = Co/wl * (1 — + Co/or3 * w jDwCo/or =加/ Co/o/"0 * (1 — v>) +加/ CWw2 * v
展開(kāi)公式為
,0 = (1 ——v)
= v*(l —m) 戸2 = - v) 戸3 = k * v
則顏色混合公式為
Ds/"Co/o/" = Co/or0 *戸O + *戸l + Co/or2 * ,2 + Co/or3 *戸3
等權(quán)值縮小算法(圖象的縮小灰度級(jí)顯示算法)
若位像是二值的,縮小顯示的時(shí)候由于n個(gè)點(diǎn)轉(zhuǎn)化成一個(gè)點(diǎn)會(huì)導(dǎo)致圖像局部細(xì)節(jié)信 息丟失,比如一條寬度一個(gè)象素的細(xì)線由于縮小可能就會(huì)沒(méi)有顯示,而使用灰度級(jí)顯示能解 決這個(gè)縮小顯示的問(wèn)題。
基本約定
一、 灰度級(jí)縮小顯示只針對(duì)黑白或者灰度影像
二、 只有在顯示<100%的時(shí)候灰度級(jí)顯示才生效
三、 灰度級(jí)縮小算法是基于原始圖像來(lái)運(yùn)算具體算法
一、 縮小算法
按照與原圖比例1: n來(lái)對(duì)原圖n*n個(gè)點(diǎn)生成1個(gè)點(diǎn)(n可以是浮點(diǎn)數(shù)),考慮到效率 可以使用灰度級(jí)變換,從0-255取中間點(diǎn)127大于該值顯示白小于改值顯示黑色。
二、 灰度級(jí)顯示算法
結(jié)合縮小算法n*n個(gè)點(diǎn)生成一個(gè)點(diǎn)的原則,在原圖上按照每個(gè)點(diǎn)的權(quán)值和顏色相乘再除 以n來(lái)得到生成點(diǎn)的顏色值。這是一維坐標(biāo),擴(kuò)展到二維空間算法相同。 位圖壓縮縮小處理流程圖可以參閱圖6。 具體展開(kāi)說(shuō)明索引圖像的無(wú)級(jí)放大 位困無(wú)級(jí)放大處理流程圖可以參閱圖7。
一、 Perwitt算子邊錄J險(xiǎn)測(cè)
經(jīng)典的插值方法,插值后的圖像會(huì)出現(xiàn)邊緣模糊或邊緣鋸齒等現(xiàn)象,這是因?yàn)檫@些傳統(tǒng) 的圖像縮放方法實(shí)質(zhì)上是對(duì)源圖像建立了連續(xù)的數(shù)學(xué)模型,沒(méi)有考慮邊緣部分的高頻信息損 失的問(wèn)題。人眼對(duì)圖像的邊緣部分特別敏感,插值后圖像的邊緣性質(zhì)對(duì)一幅圖像的質(zhì)量有十 分重要的影響。為使插值后的圖像邊緣保持良好的特性,采用基于Perwitt算子邊沿檢測(cè)方 法的圖像縮放算法,先檢測(cè)邊沿,對(duì)確認(rèn)為處于邊緣區(qū)域的像素,插值沿邊沿方向進(jìn)行;對(duì) 平坦區(qū)域的像素,進(jìn)行插值。該算法能在很大程度上消除插值后圖像邊緣的模糊和鋸齒現(xiàn)象, 提高插值后圖像的視覺(jué)質(zhì)量。
基于Perwitt算子的邊緣;險(xiǎn)測(cè)算法基本步驟包括
第一、濾波。邊緣檢測(cè)主要基于導(dǎo)數(shù)計(jì)算,但受噪聲影響。但濾波器在降低噪聲的同時(shí) 也導(dǎo)致邊緣強(qiáng)度的損失。
第二、增強(qiáng)。增強(qiáng)算法將鄰域中灰度有顯著變化的點(diǎn)突出顯示。 一般通過(guò)計(jì)算梯度幅值 完成。
第三、檢測(cè)。但在有些圖象中梯度幅值較大的并不是邊緣點(diǎn)。最簡(jiǎn)單的邊緣檢測(cè)是梯度 幅值閾值判定。
第四、定位。精確確定邊緣的位置。
邊緣檢測(cè)算法流程
第一步用高斯濾波器平滑圖象;
第二步:用一階偏導(dǎo)的有限差分來(lái)計(jì)算梯度的幅值和方向; 第三步:對(duì)梯度幅值進(jìn)行非極大值抑制; 第四部用雙閾值算法檢測(cè)和連接邊緣。
二、 位圖形狀轉(zhuǎn)矢量圖形縮放
當(dāng)字號(hào)特別大時(shí),用字做的圖邊緣部分不平滑,采用將提取出的字體邊緣轉(zhuǎn)換為矢量 圖形,采用矢量縮放算法進(jìn)行平滑縮放,然后繪出筆畫(huà)輪廓填充之。在有些情況下,即使 用平滑的曲線繪畫(huà)仍然不可避免的會(huì)有鋸齒,這是人的視覺(jué)特征決定的,所以仍然需要優(yōu)化。
一般的矢量縮放應(yīng)用很好的處理軟件之所以會(huì)感覺(jué)平滑,是因?yàn)樗谧煮w邊緣部分增加 了過(guò)渡區(qū),在前景色和背景色做了一個(gè)平滑的色彩過(guò)渡。之所以感覺(jué)沒(méi)有鋸齒,是利用了人 的視覺(jué)心理特征。所以在處理的后期,還需要在繪制好的文字邊緣增加過(guò)渡色彩,這樣就會(huì) 感覺(jué)相當(dāng)平滑。
另外由于設(shè)備分辨率有限,在屏幕上繪各種幾何曲線都會(huì)有"鋸齒"形,鋸齒大小為一 個(gè)像元。字體能無(wú)級(jí)縮放,不論放大多少"鋸齒"總是一像元大,而字體的"鋸齒"會(huì)隨字形放大而增大。為了使感覺(jué)沒(méi)有鋸齒,可采用特殊算法,如反走樣法進(jìn)行優(yōu)化。 顯示平臺(tái)的處理流程
顯示主要完成對(duì)初始輸入文本的壓縮存儲(chǔ)與初始顯示,以及編輯狀態(tài)下文本的快速定位,
刷新顯示,主要流程包括如圖8所示的初始索引的計(jì)算流程圖;圖9所示的未編輯狀態(tài)下
圖像的顯示和圖10所示的編輯狀態(tài)下圖像的刷新顯示流程圖.為了確定每個(gè)信息單元在當(dāng)
前顯示頁(yè)面上的物理位置,采用了如下方法計(jì)算當(dāng)前單元的坐標(biāo)(Xe^,yeujJ:設(shè)前一個(gè)單元
的坐標(biāo)為(x^e,y^e),寬度為w,w為當(dāng)前單元的寬度;WIDTH為頁(yè)面的顯示寬度, \ pic pie/ jjre cur
X一Margin、Y—Margin分別表示fi&的上下邊距,Unit —Interv表示顯示單元之間的橫向間隔,
Row—Interv表示行距。
判斷前一個(gè)單元是否為空,如果為空,貝'J:
x = X Margin cur — e
y = Y Margin J cur - o
否則,判斷前一個(gè)單元的類(lèi)型,如果為換行符或換頁(yè)符
x = X Margin cur — e
y = y + Row Interv J cur "7 pre —
否則,如果前一個(gè)單元是其他類(lèi)型 計(jì)算出判斷因子A,義
xpre +wpre +Unit_Interv+wcur WIDTH
,(入=0, l),那么當(dāng)前單元的
坐標(biāo)為:
Xcur = (1-義)Hxpre+Wpre+Unit一Inte—"承X —Margin
'pre "pre
y = y + /1 * Row Interv -7 cur J pre —
坐標(biāo)修正
設(shè)imageCollection記錄了當(dāng)前頁(yè)產(chǎn)中已經(jīng)t^現(xiàn)的圖像單元信息,則判斷當(dāng)前單元的坐 標(biāo)是否"落"到任一圖像單元內(nèi),更新(Xcur,ycur)直到當(dāng)前單元不"落"在任一圖像內(nèi)。 存儲(chǔ)及索引
一、存儲(chǔ)及索引的結(jié)構(gòu)
將每幅壓縮完畢的圖像按像素展開(kāi)成為一維數(shù)組,將每個(gè)字的寬度和總長(zhǎng)度放在數(shù)組的 最前端,設(shè)一位的添加刪除位。這樣文檔的內(nèi)容便存儲(chǔ)在一系列的數(shù)組中。全局索引的結(jié)構(gòu) 分兩個(gè)部分,第一個(gè)字節(jié)存儲(chǔ)的內(nèi)容為對(duì)應(yīng)字的圖像在全文中的位置,第二個(gè)字節(jié)存放的為 圖像數(shù)據(jù)在文件中存儲(chǔ)的位置。動(dòng)態(tài)索引記錄下了每個(gè)顯示在操作頁(yè)面上的字圖像開(kāi)始顯示 時(shí)左上角的坐標(biāo)值,動(dòng)態(tài)索引的作用在于能夠根據(jù)光標(biāo)的位置快速準(zhǔn)確地定位光標(biāo)所選定的 圖像。動(dòng)態(tài)索引在打開(kāi)文件時(shí)創(chuàng)建,關(guān)閉文件時(shí)刪除,并不保存在文件中。
文檔的結(jié)構(gòu)均由特殊字符控制,特殊字符和文字圖像一同存儲(chǔ)在文檔內(nèi)容中,特殊字符 包括換行符,段落符,分欄符,首字縮進(jìn)符,空行符。每遇到特殊字符時(shí),在如三所述的 顯示過(guò)程中采取特殊操作,從而控制文檔顯示的格式。二 、索引支持的添加刪除編輯操作
經(jīng)過(guò)如五所述的方法識(shí)別出添加或者刪除的動(dòng)作,選定將要添加或者刪除的文字圖像, 根據(jù)動(dòng)態(tài)索引所存儲(chǔ)的坐標(biāo),定位將要承夯參者刑除的位置,先在索引中進(jìn)行編輯操作。添 加時(shí)將索引添加在正確的位置上,文字圖像內(nèi)容直接加在文件的末端,刪除時(shí)先只在索引中 將對(duì)應(yīng)文字圖像的索引刪除,并將文字圖像的刪除位置1,直到用戶保存文檔時(shí)才真正將文 字圖像內(nèi)容從文件中刪除。
三、緩沖區(qū)保存操作
每當(dāng)打開(kāi)一個(gè)文字圖像文檔時(shí)在內(nèi)存中設(shè)置緩沖區(qū),用來(lái)保存近20步的操作,用來(lái)在 特殊情況下的文檔修復(fù)工作。
編輯部分的實(shí)現(xiàn)方法及算法
一、 編輯符的確定
確定編輯符時(shí),我們應(yīng)該以簡(jiǎn)單,方便、符合我們的手寫(xiě)習(xí)慣為根本原則,確定了左選 擇符、右選擇符、復(fù)制符、粘貼符、插入符、刪除符、剪切符、縮進(jìn)(或空格)符、回格符 和換行符,各編輯符的結(jié)構(gòu)示意圖可以參閱附圖27。
雖然每個(gè)編輯操作的具體功能在顯示設(shè)備上具體顯示是不一樣的,但他們的執(zhí)行過(guò)程是 一樣的,即
第一,確定編輯操作的當(dāng)前位置;
第二,確定用戶發(fā)出的編輯指令;
第三,根據(jù)對(duì)應(yīng)的編輯指令執(zhí)行相應(yīng)的操作,具體來(lái)說(shuō),所定義的操作指令執(zhí)行的所執(zhí) 行的操作不同的系統(tǒng)可以定義不同行為,以下給出其中一種常用的行為模式,但本方法并不 限定于以下模式
插入操作確定當(dāng)前位置,等待新的信息單元從輸入構(gòu)建輸入,在索引中插入新的信息 單元信息,刷新顯示頁(yè)面;
左選捧操作系統(tǒng)記錄當(dāng)前位置所對(duì)應(yīng)的信息單元,并等待右選擇操作,如果下一個(gè)操
作不是右選擇,則該操作撤銷(xiāo);
右選擇操作如果上一個(gè)操作是左選擇,記錄當(dāng)前信息單元,如果當(dāng)前信息單元的位置 在左選擇記錄的信息單元之前,則撤銷(xiāo)左右選擇操作,否則,將系統(tǒng)記錄的左選擇操作的信 息單元到當(dāng)前信息單元之間的所有信息進(jìn)行標(biāo)記為已選擇,等待下一步操作;
刪除操作確定被選擇的信息單元為非空,從索引中刪除被選定的信息單元,刷新顯示;
復(fù)制操作清空復(fù)制緩沖區(qū),將標(biāo)記為已選擇的信息單元拷貝到緩沖區(qū);
粘貼操作確定操作的當(dāng)前位置,將復(fù)制緩沖區(qū)中的信息單元在當(dāng)前位置插入,刷新顯
示;
剪切操作先對(duì)所選定的信息單元執(zhí)行復(fù)制操作,再對(duì)所選定的信息單元執(zhí)行刪除操作; 縮進(jìn)操作先執(zhí)行插入操作,并自動(dòng)插入一個(gè)空格后結(jié)束插入操作; 回格操作自動(dòng)執(zhí)行左右選擇操作選定當(dāng)前位置的前一個(gè)信息單元,并執(zhí)行刪除操作; 換行操作確定當(dāng)前位置,在當(dāng)前位置插入一個(gè)換行符,刷新顯示。
二、 編輯符的識(shí)別
編輯符的識(shí)別可以用語(yǔ)法模式識(shí)別法(構(gòu)造自動(dòng)機(jī)識(shí)別)
將平面坐標(biāo)系劃分為8個(gè)方位,8個(gè)坐標(biāo)方位分別編碼為0, 1, 2, 3, 4, 5, 6, 7。 通過(guò)系統(tǒng)采集到編輯符的軌跡信息,并進(jìn)行平滑和采樣,計(jì)算出編輯符軌跡在前后兩個(gè)采樣 點(diǎn)坐標(biāo)之間的變化向量,根據(jù)向量的方向在對(duì)應(yīng)的方位對(duì)其分別進(jìn)行編碼,組成一個(gè)碼串,此串描述了該編輯符的結(jié)構(gòu)信息,也稱(chēng)為該編輯符的語(yǔ)法模式;通過(guò)語(yǔ)法模式識(shí)別方法設(shè)計(jì) 識(shí)別器(自動(dòng)機(jī))識(shí)別出該編輯符。
坐標(biāo)方位編碼表可以參閱附圖28,如附圖28 ( — )所示
識(shí)別算法如下
屏幕中的坐標(biāo)系如附圖28 (二)所示。
首先,根據(jù)由系統(tǒng)得到的軌跡信息求出該軌跡的特征碼串,假設(shè),該軌跡的點(diǎn)序列如下 a, Y,) , (X2, Y2),……a, yj , (Xw, Yi+,), ... . (X —,, Y H) , (X , Y ) 計(jì)算任何兩個(gè)相鄰點(diǎn)的變化向量,見(jiàn)附圖28中的(三)。得到n-l個(gè)變化向量
(X2-Xb Y「Y》,.......a+,-Xi, Y卜「Yi)..........(X -X —b Y -Y —')
計(jì)算每個(gè)變化向量所對(duì)應(yīng)的特征碼
假設(shè),(a,b)為上面n-1個(gè)變化向量中的一個(gè)元素,它與X軸的角度為e,參見(jiàn)附圖28 中的(四)。計(jì)算6的余弦cosg = a/V^2 +&2 ;
計(jì)算其反余弦得到角度a = arccos(fl/V^TP"),如果6》0 ,則6 = a ;否則,6 =2
TT_0C 。
根據(jù)e在坐標(biāo)方位困中對(duì)應(yīng)的位置判斷該變化向量與表一中哪一個(gè)方位最接近,該變化
向量對(duì)應(yīng)的特征碼即為該方位的編號(hào)(0-7).
同理,可得到該軌跡的所有變化向量的特征碼。假設(shè),整個(gè)特征碼串為
入,,入2,.......入i.......入 .(其中,入 =-1,表示串的結(jié)束)
其次,設(shè)計(jì)自動(dòng)才幾依次識(shí)別各個(gè)編輯符
手寫(xiě)編輯符的時(shí)候,存在顫抖,也就不可避免的有噪音,因此我們得到的特征碼串也包 含噪音,所以在設(shè)計(jì)自動(dòng)機(jī)識(shí)別的時(shí)候一定要能夠容忍這些噪音。為此,我們采取了如下措
施
只要所識(shí)別的碼串中的碼元對(duì)某一編輯符特征碼串的符合率達(dá)到一定的閾值,如8 0 %,我們就認(rèn)為當(dāng)前所識(shí)別的碼串就是該編輯符。為此,我們記錄下特征碼串中的符合某一 編輯符特征的每一個(gè)分量的個(gè)數(shù),以及它們的總數(shù),只有每個(gè)分量個(gè)數(shù)和總數(shù)達(dá)到一定的閾 值,我們才認(rèn)為識(shí)別出了該編輯符。以下對(duì)各所述編輯符的識(shí)別進(jìn)行詳述 .
左選擇符的識(shí)別
手寫(xiě)的左選擇符對(duì)應(yīng)的碼串2322210010。它的特征碼就是2和0,里面存在著噪音碼 3,1,但該碼串中2和0以及二者在整個(gè)碼串中所占的比例達(dá)到一定的閾值,我們就認(rèn)為, 該軌跡就是左選擇符。附圖請(qǐng)參閱圖11識(shí)別左選擇符時(shí)狀態(tài)機(jī)理圖,圖中Cl:符合某編輯 符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合某編輯符的單個(gè)特征碼的個(gè)數(shù);Cerr:已經(jīng)出錯(cuò)的編 輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá)到的閥值;T2:符合編輯符的所有特征碼的個(gè)數(shù)須達(dá)到 的閥值;Terr:如果Cerr超過(guò)該值就認(rèn)為該軌跡不能被識(shí)別。
右選擇符的識(shí)別
手寫(xiě)的右選擇符對(duì)應(yīng)的碼串2322234454。它的特征碼就是2和4,里面存在著噪音碼 3, 5,但該碼串中2和4以及二者在整個(gè)碼串中所占的比例達(dá)到一定的閾值,我們就認(rèn)為, 該軌跡就是右選擇符。附圖請(qǐng)參閱圖12識(shí)別右選擇符時(shí)狀態(tài)機(jī)理圖,圖中,Cl:符合某編輯 符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合某編輯符的單個(gè)特征碼的個(gè)數(shù);Cerr:已經(jīng)出錯(cuò)的編 輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá)到的閥值;T2:符合編輯符的所有特征碼的個(gè)數(shù)須達(dá)到 的閥值;Terr:如果Cerr超過(guò)該值就認(rèn)為該軌跡不能被識(shí)別。
復(fù)制符的識(shí)別
14手寫(xiě)的復(fù)制符對(duì)應(yīng)的碼串6, 5, 4, 3, 3, 3, 2, 2, 0, 0。標(biāo)準(zhǔn)的復(fù)制符的特征碼是 5, 4, 3, 2, 1, 0, 7;由于手寫(xiě)的復(fù)制符的隨意性,并不是每個(gè)特征碼都會(huì)出現(xiàn)在我們得 到的碼串中,如果嚴(yán)格的要求每一個(gè)特征碼的先后關(guān)系,那么對(duì)于不同人有不同手寫(xiě)習(xí)慣的 復(fù)制符來(lái)說(shuō)識(shí)別率將會(huì)非常低,因此,我們必須設(shè)計(jì)一比較靈活、對(duì)特征碼限制較為寬松的 狀態(tài)機(jī),同時(shí)排除一些由于狀態(tài)機(jī)限制寬松而有可能混淆的類(lèi)似的編輯符。附圖請(qǐng)參閱圖 13識(shí)別復(fù)制符時(shí)狀態(tài)機(jī)理圖,圖中Cl:符合某編輯符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合 某編輯符的單個(gè)特征碼的個(gè)數(shù);Cerr:已經(jīng)出錯(cuò)的編輯碼的個(gè)ft; Tl:單個(gè)特征碼必須達(dá)到 的閥值;T2:符合編輯符的所有特征碼的個(gè)數(shù)須達(dá)到的閥值;Terr:如杲Cerr超過(guò)該值就 認(rèn)為該軌跡不能被識(shí)別;C — 2 — 0:當(dāng)前碼串中出現(xiàn)特征碼2和0的總數(shù);C_ 3 — 1:當(dāng)前碼串中出 現(xiàn)特征碼3和1的總數(shù);C—4_2:當(dāng)前碼串中出現(xiàn)特征碼4和2的總數(shù);C—1-7:當(dāng)前碼串中 出現(xiàn)特征碼1和7的總數(shù);C— 3- 0:當(dāng)前碼串中出現(xiàn)特征碼3和0的總數(shù);C—4 -1:當(dāng)前碼串 中出現(xiàn)特征碼4和1的總數(shù)。.
粘貼符的識(shí)別
手寫(xiě)的復(fù)制符對(duì)應(yīng)的碼串6, 0, 0, 2, 2, 3, 3, 3, 4, 5。標(biāo)準(zhǔn)的粘貼符的特征碼是 7, 0, 1, 2, 3, 4, 5;同復(fù)制符的識(shí)別類(lèi)似。附圖請(qǐng)參閱圖14識(shí)別粘貼符時(shí)狀態(tài)機(jī)理圖, 圖中Cl:符合某編輯符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合某編輯符的單個(gè)特征碼的個(gè)數(shù); Cerr:已經(jīng)出錯(cuò)的編輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá)到的閥值;T2:符合編輯符的所有 特征碼的個(gè)數(shù)須達(dá)到的閥值;Terr:如果Cerr超過(guò)該值就認(rèn)為該軌跡不能被識(shí)別;C-2 —4: 當(dāng)前碼串中出現(xiàn)特征碼2和4的總數(shù);C-l-3:當(dāng)前碼串中出現(xiàn)特征碼1和3的總數(shù);C—0-2: 當(dāng)前碼串中出現(xiàn)特征碼0和2的總數(shù);C-7-l:當(dāng)前碼串中出現(xiàn)特征碼7和1的總數(shù);C-0-3: 當(dāng)前碼串中出現(xiàn)特征碼0和3的總數(shù);C-l-4:當(dāng)前碼串中出現(xiàn)特征碼1和4的總數(shù)。
插入符的識(shí)別
手寫(xiě)的右選擇符對(duì)應(yīng)的碼串67776012112。它的特征碼就是7和1,但在手寫(xiě)插入符 的時(shí)候,特征碼6和7, l和2很難區(qū)分,所以,在識(shí)別插入符的時(shí)候,我們將之等同,這 可以大大地提高其識(shí)別率'附圖請(qǐng)參閱圖15識(shí)別插入符時(shí)狀態(tài)^L理圖,圖中Cl:符合某編 輯符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合某編輯符的單個(gè)特征碼的個(gè)數(shù);Cerr:已經(jīng)出錯(cuò)的 編輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá)到的閥值;T2:符合編輯符的所有特征碼的個(gè)數(shù)須達(dá) 到的閥值;Terr:如果Cerr超過(guò)該值就認(rèn)為該軌跡不能被識(shí)別。
刪除符的識(shí)別
刪除符是由兩條4黃線組成,我們一次識(shí)別它的一半,即一次識(shí)別一條橫線。手寫(xiě)的左選 擇符對(duì)應(yīng)的碼串1000770001。它的特征碼就是0,里面存在著噪音碼7, 1,但該碼串中0 在整個(gè)碼串中所占的比例達(dá)到一定的閾值,我們就認(rèn)為,該軌跡就是一條橫線。附圖請(qǐng)參閱 圖16識(shí)別刪除符時(shí)狀態(tài)機(jī)理圖,圖中Cl:符合某編輯符的單個(gè)特征碼的個(gè)數(shù);C2:所有符 合某編輯符的單個(gè)特征碼的個(gè)數(shù);Cerr:已經(jīng)出錯(cuò)的編輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá) 到的閥值;T2:符合編輯符的所有特征碼的個(gè)數(shù)須達(dá)到的閥值;Terr:如果Cerr超過(guò)該值 就認(rèn)為該軌跡不能被識(shí)別。
剪切符的識(shí)別
剪切符是由兩條斜線組成,我們一次識(shí)別它的一半,即一次識(shí)別一條斜線。我們稱(chēng)從左 邊開(kāi)始的斜線為左剪切符,從右邊開(kāi)始的叫右剪切符。手寫(xiě)的左剪切符對(duì)應(yīng)的碼串 211111011。它的特征碼就是l,里面存在著噪音碼2, 1。手寫(xiě)的右剪切符對(duì)應(yīng)的可能的碼 串2333332334。它的特征碼就是3,里面存在著噪音碼2, 4。附圖請(qǐng)參閱圖17識(shí)別剪切符時(shí)狀態(tài)機(jī)理圖,圖中入剪切符的特征碼,其中,入=1時(shí),是左剪切符入=3時(shí),是右剪切 符;Cl:符合某編輯符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合某編輯符的單個(gè)特征碼的個(gè)數(shù); Cerr:已經(jīng)出錯(cuò)的編輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá)到的閥值;T2:符合編輯符的所有 特征碼的個(gè)數(shù)須達(dá)到的閥值;Terr:如果Cerr超過(guò)該值就認(rèn)為該軌跡不能被識(shí)別。 空格(縮進(jìn))符的識(shí)別
手寫(xiě)的空格符對(duì)應(yīng)的碼串01110233434。它的特征碼就是1和3,但在手寫(xiě)空格符的 時(shí)候,特征碼O和l, 4和3很難區(qū)分,所以,在識(shí)別空格符的時(shí)候,我們將之等同,這可 以大大地提高其識(shí)別率。附圖請(qǐng)參閱圖18識(shí)別空格(縮進(jìn))符時(shí)狀態(tài)機(jī)理圖,圖中C1:符合 某編輯符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合某編輯符的單個(gè)特征碼的個(gè)數(shù);Cerr:已經(jīng)出 錯(cuò)的編輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá)到的閥值;T2:符合編輯符的所有特征碼的個(gè)數(shù) 須達(dá)到的閥值;Terr:如果Cerr超過(guò)該值就認(rèn)為該軌跡不能被識(shí)別。
回格符的識(shí)別
手寫(xiě)的回格符對(duì)應(yīng)的碼串33434201110。它的特征碼就是3和1,但在手寫(xiě)回格符的 時(shí)候,特征碼4和3, 0和1很難區(qū)分,所以,在識(shí)別回格符的時(shí)候,我們將之等同,這可 以大大地提高其識(shí)別率。附圖請(qǐng)參閱圖19識(shí)別空格(縮進(jìn))符時(shí)狀態(tài)機(jī)理圖,圖中C1:符合 某編輯符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合某編輯符的單個(gè)特征碼的個(gè)數(shù);Cerr:已經(jīng)出 錯(cuò)的編輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá)到的閥值;T2:符合編輯符的所有特征碼的個(gè)數(shù) 須達(dá)到的閥值;Terr:如果Cerr超過(guò)該值就認(rèn)為該軌跡不能被識(shí)別。
換行符的識(shí)別
手寫(xiě)的換行符對(duì)應(yīng)的碼串1001023222。它的特征碼就是0和2,里面存在著噪音碼l, 3,但該碼串中2和0以及二者在整個(gè)碼串中所占的比例達(dá)到一定的閾值,我們就認(rèn)為,該 軌跡就是換行符。附圖請(qǐng)參閱圖20識(shí)別空格(縮進(jìn))符時(shí)狀態(tài)機(jī)理圖,圖中Cl:符合某編輯 符的單個(gè)特征碼的個(gè)數(shù);C2:所有符合某編輯符的單個(gè)特征碼的個(gè)數(shù);Cerr:已經(jīng)出錯(cuò)的編 輯碼的個(gè)數(shù);Tl:單個(gè)特征碼必須達(dá)到的閥值;T2:符合編輯符的所有特征碼的個(gè)數(shù)須達(dá)到 的閥值;Terr:如果Cerr超過(guò)該值就認(rèn)為該軌跡不能被識(shí)別。
編輯操作序列要有一定的限制,比如,要復(fù)制一段圖像文字,先要選定該段圖像文字; 采用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)不同編輯操作之間的先后制約關(guān)系。該語(yǔ)法模式識(shí)別法整體狀態(tài)機(jī)理圖, 可以參閱圖21。
以下對(duì)操作過(guò)程進(jìn)行舉例說(shuō)明
編輯文檔中的刪除操作,如附圖29所示
編輯文檔中的插入操作,如附圖30所示
其它相關(guān)操作演示示意圖如附圖31所示
以上實(shí)施例中作為舉例說(shuō)明采用了手寫(xiě)體編輯符作為編輯指令,本發(fā)明的編輯操作也可 以采用系統(tǒng)提供的編輯選擇指令完成編輯操作,具體原理和上述原理相同,也應(yīng)視為本發(fā)明 的保護(hù)范圍。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明 的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本 發(fā)明構(gòu)思的前提下,還可以做出若干推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1. 一種手寫(xiě)體信息快速編輯排版的方法,其特征在于所述手寫(xiě)體信息快速編輯排版的方法包括步驟A將手寫(xiě)體信息進(jìn)行切分或合并處理成個(gè)體單位的獨(dú)立信息單元;B對(duì)切分或合并處理后的所述手寫(xiě)體信息進(jìn)行編碼,建立支持編輯操作的索引,進(jìn)行索引計(jì)算,得出各獨(dú)立信息單元在整體信息單元中的物理位置,并計(jì)算所述信息相對(duì)于顯示頁(yè)面的動(dòng)態(tài)索引;C輸入編輯指令,執(zhí)行所述編輯指令完成對(duì)所述手寫(xiě)體信息的編輯;D對(duì)每次執(zhí)行編輯指令后受到影響的信息單元進(jìn)行自動(dòng)排版。
2. 根據(jù)權(quán)利要求1所述編輯排版的方法,其特征在于所述步驟A中對(duì)所述手寫(xiě) 體信息的切分包括操作者在聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息的切分和在脫機(jī)狀態(tài)下獲取 的已有手寫(xiě)文檔的數(shù)字化信息的切分。
3. 根據(jù)權(quán)利要求2所述編輯排版的方法,其特征在于所述操作者在聯(lián)機(jī)輸入狀 態(tài)下手寫(xiě)寫(xiě)入信息的切分方法包括步驟Al:獲取操作者聯(lián)機(jī)寫(xiě)入的單行手寫(xiě)體信息; A2:對(duì)所述單行手寫(xiě)體信息進(jìn)行投影;A3:根據(jù)投影像素進(jìn)行計(jì)算,判斷,切分或合并得到單個(gè)手寫(xiě)體信息;
4. 根據(jù)權(quán)利要求2所述編輯排版的方法,其特征在于所述脫機(jī)狀態(tài)下獲取的已 有手寫(xiě)文檔的掃描信息的切分方法包括步驟al:讀入整篇在所述脫機(jī)狀態(tài)下獲取的已有手寫(xiě)體信息或圖片信息;a2:將上述已有手寫(xiě)體信息或圖片信息進(jìn)行格式轉(zhuǎn)化成系統(tǒng)可以識(shí)別的格式;a3:分離出圖片信息;a4:將轉(zhuǎn)化格式后的所述手寫(xiě)體信息進(jìn)行投影并根據(jù)投影像素進(jìn)行判斷,實(shí)施行 切分;a5:對(duì)所述行切分信息根據(jù)投影像素進(jìn)行計(jì)算,判斷,切分或合并得到單個(gè)手寫(xiě) 體信息。
5. 根據(jù)權(quán)利要求3或4所述編輯排版的方法,其特征在于所述單個(gè)手寫(xiě)體信息 的切分包括粗切分、重疊漢字的切分、粘連漢字的切分。
6. 根據(jù)4又利要求5所述編輯排版的方法,其特征在于所述對(duì)輸入手寫(xiě)體信息的 粗切分方法具體包括:計(jì)算字符左右邊界、字寬w,、平均字寬^、高寬比r,、平均高 寬比7、字間距J,、平均字間距孑,引入判斷系數(shù)"和/ ,當(dāng)r,〉a承7時(shí),作為合并的4美選,科吉華烽當(dāng)r,X^^^時(shí),作為切分的候選。
7. 根據(jù)權(quán)利要求5所述編輯排版的方法,其特征在于所述重疊漢字的切分包括 步驟E:獲取待切分手寫(xiě)體信息;F:對(duì)所述待切分手寫(xiě)體信息進(jìn)行像素的垂直投影;G:在相連的兩投影信息上確定投影最低點(diǎn),并以該點(diǎn)為界進(jìn)行重疊漢字的切分。
8. 根據(jù)權(quán)利要求5所述編輯排版的方法,其特征在于所述粘連漢字的切分包括 步驟H:通過(guò)傅立葉變換方法確定粘連漢字; I:對(duì)所述粘連漢字進(jìn)行細(xì)化處理; J:確定切分點(diǎn)進(jìn)行粘連漢字的切分。
9. 根據(jù)權(quán)利要求1所述編輯排版的方法,其特征在于所述步驟C中所述編輯指 令為手寫(xiě)體編輯符或系統(tǒng)提供的編輯選擇指令。
10. 根據(jù)權(quán)利要求1所述編輯排版的方法,其特征在于所述步驟D中對(duì)每次執(zhí) 行編輯指令后受到影響的信息單元進(jìn)行自動(dòng)排版包括步驟K:執(zhí)行編輯指令完成編輯操作;L:調(diào)整受編輯影響各獨(dú)立信息單元在整體信息單元中的物理位置; M:生成新的整體信息單元接受下次編輯操作。
11. 一種手寫(xiě)體編輯符的識(shí)別方法,其特征在于所述手寫(xiě)體編輯符的識(shí)別方法包 括步驟N、將平面坐標(biāo)系劃分為8個(gè)方位,通過(guò)系統(tǒng)采集到編輯符號(hào)的軌跡信息,計(jì)算出 所述編輯符號(hào)軌跡在前后兩個(gè)坐標(biāo)之間的變化向量;0、按方位對(duì)所述編碼符號(hào)進(jìn)行編碼,將編輯符號(hào)信息轉(zhuǎn)換成編碼信息,所述編碼 信息描述了所述編輯符號(hào)的結(jié)構(gòu)信息;P、通過(guò)語(yǔ)法模式識(shí)別出所述編輯符號(hào)的編碼信息。
12. 根據(jù)權(quán)利要求11所述手寫(xiě)體編輯符的識(shí)別方法,其特征在于所述步驟P中 所述語(yǔ)法模式為每個(gè)語(yǔ)法模式為一個(gè)數(shù)字串,該數(shù)字串中的每個(gè)數(shù)字代表了與筆跡 中該數(shù)字對(duì)應(yīng)的當(dāng)前點(diǎn)的位置與前一點(diǎn)的位置之間的差向量最接近的方位。
全文摘要
本發(fā)明涉及信息編輯處理技術(shù),具體涉及一種對(duì)聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息和在脫機(jī)狀態(tài)下獲取的已有手寫(xiě)文檔的掃描信息根據(jù)編輯指令進(jìn)行快速編輯排版的方法和對(duì)編輯過(guò)程中輸入的編輯符的識(shí)別方法。通過(guò)將手寫(xiě)體信息進(jìn)行切分或合并處理成獨(dú)立信息單元,并將處理后的手寫(xiě)體信息進(jìn)行編碼,建立支持編輯操作的索引,并通過(guò)執(zhí)行編輯指令實(shí)現(xiàn)在編輯后對(duì)受編輯影響的信息單元進(jìn)行自動(dòng)排版。本發(fā)明有效的解決了對(duì)聯(lián)機(jī)輸入狀態(tài)下手寫(xiě)寫(xiě)入信息和在脫機(jī)狀態(tài)下獲取的已有手寫(xiě)文檔的掃描信息進(jìn)行編輯完成后,不能實(shí)現(xiàn)再排版,影響文檔整體性的技術(shù)問(wèn)題;系統(tǒng)對(duì)編輯過(guò)程中輸入的編輯符識(shí)別準(zhǔn)確、高效、識(shí)別錯(cuò)誤率低。
文檔編號(hào)G06F17/24GK101452444SQ20081000907
公開(kāi)日2009年6月10日 申請(qǐng)日期2008年1月26日 優(yōu)先權(quán)日2007年12月4日
發(fā)明者馮交交, 尤鳳凱, 梁乃臣, 王曉龍, 陳清財(cái) 申請(qǐng)人:哈爾濱工業(yè)大學(xué)深圳研究生院