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

一種用于linux操作系統(tǒng)的手寫輸入方法

文檔序號:6586270閱讀:793來源:國知局
專利名稱:一種用于linux操作系統(tǒng)的手寫輸入方法
技術領域
本發(fā)明涉及一種用于Li皿x操作系統(tǒng)的手寫輸入方法,屬電子信息的輸入技術領 域。
背景技術
隨著信息技術的不斷發(fā)展,觸摸屏已經(jīng)成為了大眾化的輸入設備,通過在觸摸屏 上的點擊和書寫,用戶可以完成與設備的交互。由于我國人口眾多,各個文化層次水平人 員參差不齊,基于觸摸屏的手寫輸入法更適合我國國情,Li皿x是一個類UNIX內(nèi)核以網(wǎng)絡 為核心支持多用戶、多任務、多線程、多CPU的操作系統(tǒng),是目前最有活力的操作系統(tǒng)之一。 在穩(wěn)定性和可靠性方面具有服務器操作系統(tǒng)的特性,常用來構筑各種服務器平臺,具有很 高的性價比;此外,Li皿x系統(tǒng)稍加修改裁剪,被用到嵌入式系統(tǒng)中,有很大的應用前景。 Li皿x在中國的推廣,由于近幾年受到正版軟件產(chǎn)權等其他商業(yè)因素影響,該操作系統(tǒng)正逐 漸升溫,因此使用Li皿x操作系統(tǒng)下的手寫輸入方法,對于進一步推廣Li皿x系統(tǒng)在中國的 使用,節(jié)省商業(yè)軟件開支,推廣國產(chǎn)處理器芯片,以及建立完整的產(chǎn)業(yè)體系具有重大意義。 目前市場上存在的手寫輸入裝置大都是針對windows操作系統(tǒng)的,無法應用于Li皿x操作 系統(tǒng)環(huán)境,如《微計算機應用》雜志第27巻第6期2006年11月《基于windows平臺的手寫 體數(shù)字識別系統(tǒng)的設計與實現(xiàn)》文章第729頁所述即屬于此列。而可用于Li皿x系統(tǒng)的手 寫輸入裝置少之又少,且價格昂貴,本發(fā)明不僅實現(xiàn)了在Li皿x系統(tǒng)環(huán)境下方便快捷的輸 入字符,而且價格低廉,成本造價僅為市面上同類產(chǎn)品價格的十分之一,此外本發(fā)明亦可應 用于嵌入式Linux系統(tǒng)下。

發(fā)明內(nèi)容
為了克服現(xiàn)有技術的缺陷和不足,以解決市面上Li皿x操作系統(tǒng)中手寫輸入種類
少且價格昂貴的問題,本發(fā)明提供了一種用于Li皿x操作系統(tǒng)的手寫輸入方法。 本發(fā)明的技術方案是采用如下方式來實現(xiàn)的。 —種適應于li皿x操作系統(tǒng)的手寫輸入方法,步驟如下 1)開始; 2)系統(tǒng)功能初始化,包括 a) fr謙buffer初始化; b)手寫識別模塊初始化; c)字符輸入函數(shù)初始化; 3)手寫軌跡處理; 4)候選字符識別處理; 5)字符選定及輸出; 6)判斷退出區(qū)域是否被點擊,是則轉向下一步,否則轉向步驟3); 7)結束。
上面所述的步驟2)中framebuffer的初始化,具體步驟如下 al)開始; a2)開啟fr謙buffer ; a3)判斷是否打開成功?如果是,轉向下一步,否則轉向上一步;
a4)將顯示緩沖區(qū)映射為虛擬內(nèi)存;
a5)等待接收顯示指令; a6)是否顯示像素點?如果是,轉向下一步,否則,執(zhí)行清屏函數(shù)后轉向步驟a5); a7)寫入像素信息; a8)屏幕顯示像素點,轉向步驟a5)。 framebuffer初始化完成的工作主要用于手寫軌跡坐標點在Linux顯示設備上的 繪制。framebuffer是出現(xiàn)在li皿x 2. 2后內(nèi)核中一種圖形設備驅動程序接口 ,它將顯存抽 象出來成為一種字符設備,允許上層應用程序在圖形模式下直接對現(xiàn)實緩沖區(qū)進行讀寫操 作。幀緩沖只是一塊顯示緩沖區(qū),向這個緩沖區(qū)寫入特定格式的數(shù)據(jù)就意味著更新屏幕的 輸出。幀緩沖與屏幕上點存在著映射關系,屏幕上的每個點都與緩沖區(qū)某個特定的地址相 關聯(lián)。framebuffer初始化后,構造一個可以接收坐標參數(shù)的函數(shù),手寫識別模塊識別手寫 筆點擊的位置,得到位置坐標,傳遞給上面構造的函數(shù),函數(shù)接收坐標后,填入顯示緩沖區(qū), 就可以在Li皿x顯示設備上繪出手寫點軌跡。 上面所述的步驟2)中手寫識別模塊的初始化,具體步驟如下 bl)開始; b2)打開li皿x系統(tǒng)串口 ; b3)判斷是否打開成功?如果是,轉向下一步,否則轉向步驟b2); b4)向手寫識別模塊寫入?yún)?shù),設定模塊與li皿x系統(tǒng)通信波特率; b5)是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向下一步,否則轉向步驟
b4); b6)向手寫識別模塊寫入?yún)?shù),設定手寫識別模塊的工作方式; b7)是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向下一步,否則轉向步驟
b6); b8)向手寫識別模塊寫入?yún)?shù),設定手寫識別模塊抬筆等待時間; b9)是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向步驟b4),處于接收參
數(shù)狀態(tài),否則轉向步驟b8)。 Li皿x操作系統(tǒng)與手寫識別模塊通過異步串行通信接口進行通信,手寫模塊初始 化程序首先開啟Li皿x系統(tǒng)中串口設備文件,搭建通信鏈路。下一步,通過串口向手寫識 別模塊寫入設定通信波特率的參數(shù),波特率值具體大小,由用戶根據(jù)系統(tǒng)情況自行確定;正
確寫入設定波特率參數(shù)后,手寫識別模塊會向操作系統(tǒng)返回一個正確響應應答碼字,如果 模塊接收到正確應答碼字,表明通信波特率設定成功,如果沒有重新發(fā)送設定參數(shù);下一步 向串口中寫入?yún)?shù)設置手寫識別模塊的工作方式,參數(shù)內(nèi)容包括1.對觸摸屏的校準信息
2.劃定觸摸屏字符書寫區(qū)域和點擊區(qū)域3.設定手寫識別模塊識別出候選字的個數(shù)。上述 參數(shù)設定完畢后,手寫識別模塊會通過串口向Li皿x系統(tǒng)發(fā)送正確設置的應答碼字;下一 步,向串口中寫參數(shù)設置手寫識別模塊的抬筆等待時間,抬筆等待時間是設定一個閾值,如果在觸摸屏上一次筆畫書寫抬筆后的時間間隔大于設定閾值,則認為一次字符書寫完畢, 識別模塊會對該次書寫進行字符算法識別,并將識別后的可能字符通過串口送至Li皿x系 統(tǒng)中,送出字符個數(shù)由上面設定的參數(shù)確定。 上面所述的步驟2)中字符輸入函數(shù)的初始化,具體步驟如下
cl)開始; C2)等待接收待輸入字符的碼字; C3)判斷接收碼字是否是正確碼字?如果是,轉向下一步,否則轉向步驟c2);
C4)判斷光標狀態(tài)是否為待輸入狀態(tài)?如果是,轉向下一步,否則,打印出錯信息 后轉向步驟c2); C5)將待輸入字符打印到屏幕光標處,之后轉向步驟c2)。 字符輸入函數(shù)完成的功能是將用戶選擇的字符打印到Li皿x界面光標處,實現(xiàn)手 寫字符的輸入。函數(shù)接收到字符碼字后,首先判斷碼字是否正確,如果正確,將會判斷光標 的屬性,如果光標是待輸入狀態(tài),則會調(diào)用系統(tǒng)函數(shù),將碼字對應的字符打印到光標的位 置,實現(xiàn)字符輸入。 上面所述的步驟3)中手寫軌跡處理,具體步驟如下
a)開始; b)等待接收待顯示點信息; c)判斷接收點屬性是否為抬筆?如果是,轉向上述一種適應于li皿X操作系統(tǒng)的 手寫輸入方法中的步驟3),否則轉向下一步; d)判斷接收點屬性是否為移筆?如果是,轉向下一步,否則,在屏幕上繪出該點后 轉向步驟b); e)判斷該點與上一點之間斜率是否存在?如果是,轉向下一步,否則轉向步驟 g); f)求出斜率在屏幕上繪出兩點間線段, g)補齊兩點線段間空白點,在屏幕顯示后轉到步驟b)。 手寫軌跡處理流程主要是將用戶在觸摸屏上書寫過的筆記顯示到Li皿x顯示設 備上,整個過程是通過調(diào)用Li皿x framebuffer技術來實現(xiàn)。由于識別模塊對一段筆跡識 別后,返回數(shù)據(jù)僅為一段軌跡上幾個間隔點坐標和坐標點的屬性,因此要通過一定算法補 齊間隔點直接的空白線段。首先判斷是么模塊發(fā)送的坐標點的屬性,如果是落筆點,直接將 該點坐標填入framebuffer顯示到Linux顯示設備上,如果識別點的屬性為移筆屬性,則應 對該點和前一點直接的空白線段做補齊處理,如果是抬筆點,則進入抬筆等待時間閾值判 斷函數(shù)。通過該流程,可以將手寫的軌跡顯示在Li皿x顯示設備上。
上面所述的步驟4)中候選字符的識別處理,具體步驟如下
(a)開始; (b)判斷抬筆時間是否大于設定閾值?如果是,轉向下一步,否則,轉向上述一種 適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟3); (c)讀取li皿x系統(tǒng)與手寫識別模塊的通信接口,獲得候選字符的GB2312碼字; (d)將讀取的GB2312轉換為Unicode碼字; (e)編寫Qt界面程序,接收轉換后的Unicode碼字;
7
(f)執(zhí)行Qt界面程序,將Unicode對應的字符顯示到屏幕;
(g)轉向上述一種適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟5)中。
該流程主要功能是讀取識別模塊識別后的候選字符,編寫Li皿x界面顯示程序, 將候選字符顯示到Li皿x顯示設備上。該流程首先判斷一次書寫過程的抬筆等待時間,如 果大于設定閾值,認為一次字符書寫完畢,識別模塊將進行字符識別,根據(jù)設定參數(shù),將識 別后的候選字符的GB2312碼發(fā)送到串口中,程序讀取串口,將得到的GB2312碼字存儲。 然后運用基于C++的Qt類庫編寫Li皿x下界面顯示程序,由于Qt類庫對字符的支持位 Unicode碼字,因此,應將上述存儲的GB2312碼字轉換成Unicode碼字傳遞給Qt界面程序, 界面程序將讀到的Unicode碼字,按順序編號,同時將序號和碼字對應的字符顯示到Linux 顯示設備上。 上面所述的步驟5)中字符選定及輸出,具體步驟如下
a)開始; b)根據(jù)Qt界面上候選字符順序,手寫筆點擊觸摸屏對應劃定區(qū)域;
c)讀取觸摸屏被點擊區(qū)域位置,獲得待輸入字符對應碼字;
d)將碼字傳遞給字符輸入函數(shù),將字符輸出到光標處;
e)清除手寫軌跡和Qt界面程序; f)執(zhí)行一種適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟6)。 候選字選定輸出流程主要完成的功能是將用戶選定的字符輸入到Li皿x顯示設
備光標處,實現(xiàn)字符輸入。手寫模塊初始化時劃定手寫區(qū)域和點擊選擇區(qū)域,點擊選擇區(qū)域
根據(jù)用戶設定,可以劃定用來字符選擇的序號區(qū)域,序號大小由設定模塊發(fā)送候選字個數(shù)
決定。用戶在手寫區(qū)域完成字符的書寫,書寫完畢后,識別模塊將識別后的候選字按照順序
調(diào)用Qt界面程序在顯示設備上顯示,用戶根據(jù)候選字符的顯示順序,在觸摸屏點擊區(qū)域進
行序號點擊選擇,識別模塊驅動點擊位置信息,將序號讀入,同時調(diào)用字符輸入函數(shù)將序號
對應的字符顯示到顯示設備光標處,實現(xiàn)一次字符輸入。輸入完畢后判斷退出區(qū)域是否被
點擊,如果是, 一次手寫輸入完畢,如果沒有則重新進入一次手寫字符輸入狀態(tài)。 本發(fā)明的技術解決方案是本發(fā)明采用模塊化程序構造,主控程序采用C語言編
寫,對于可定制的候選字圖形界面程序的編寫采用通用跨平臺0++類庫一(^。不依賴于適
用環(huán)境的硬件結構,系統(tǒng)軟硬件接口簡單;此外根據(jù)Li皿x應用環(huán)境的不同,候選字圖形界
面程序采取不同的編譯方式,亦可適用于嵌入式Li皿x系統(tǒng)中,實現(xiàn)在移動終端上的使用,
本方法開發(fā)周期短,實用性強,在開發(fā)難度、工作量、成本上有較為明顯優(yōu)勢,適用于X系統(tǒng)
的Linux平臺和具有幀緩沖(Framebuffer)的嵌入式Linux平臺。 上面所述的輸入方法中使用的一種手寫輸入裝置,包括直流電源、手寫筆、觸摸 屏、手寫識別模塊,其特征在于觸摸屏通過數(shù)據(jù)線和手寫識別模塊相連接;手寫識別模塊通 過標準異步串行通信接口和具有顯示終端的Li皿x系統(tǒng)或嵌入式Li皿x系統(tǒng)相連接;直流 電源連接到整個手寫輸入裝置中為其供電;手寫筆為圓桿型,前端呈圓錐狀(如通用的圓 珠筆狀)以便于使用者在觸摸屏上書寫。 所述的觸摸屏為四線電阻式或四線電容式LCD分離型壓敏觸摸屏。
所述的手寫筆采用金屬或塑料材質的觸屏手寫筆。
上述手寫輸入裝置中各部件的工作功能如下
(1)手寫筆用來負責輸入字符的書寫,候選字符的點擊選擇; (2)四線電阻/電容式觸摸屏用來感知手寫筆的動作,并將動作信息反映為電信號傳遞給手寫識別模塊; (3)手寫識別模塊通過串口與Li皿x操作系統(tǒng)進行數(shù)據(jù)通信,通過四根數(shù)據(jù)線與觸摸屏相連。手寫識別模塊讀取觸摸屏回送的一系列電信號,通過計算得到觸電坐標值,將坐標值通過串口送至Li皿x系統(tǒng)中,根據(jù)程序參數(shù)設定,通過模塊內(nèi)部算法,將識別出的候選字符通過串口送至Linux系統(tǒng)中。 (4)具有顯示終端的Li皿x系統(tǒng)/嵌入式系統(tǒng)接收手寫模塊傳遞的信息,將手寫點的對應坐標顯示在操作系統(tǒng)顯示設備上,接收手寫選定的字符。 通過上述功能組合,使用手寫筆在觸摸屏上進行字符書寫,手寫識別模塊讀取手寫信息,將觸摸屏返回的電信號轉換成坐標值電信號通過串口傳遞給Li皿x操作系統(tǒng),Li皿x系統(tǒng)將手寫軌跡坐標在屏幕上顯示;通過程序設定,當一個字符書寫完畢后,手寫識別模塊通過內(nèi)部的識別算法,將識別出的候選字符通過串口發(fā)送至Li皿x系統(tǒng),Li皿x系統(tǒng)將候選字編號后,在屏幕打印顯示,用戶在觸摸屏對編號進行點擊選擇,手寫識別模塊將編號送至Li皿x系統(tǒng),Li皿x系統(tǒng)將編號對應的字符打印至光標輸出處。至此一次手寫輸入完畢。 本發(fā)明手寫輸入方法具有以下優(yōu)點 本發(fā)明方法軟件主控程序采用C語言編寫,對于可定制的候選字圖形界面程序的編寫采用通用跨平臺C++類庫一QT,不依賴適用環(huán)境的硬件結構;此外根據(jù)Li皿x應用環(huán)境,采取不同的編譯方式,亦可適用于嵌入式Li皿x系統(tǒng)中,實現(xiàn)在移動終端上的使用。本方法開發(fā)周期短,實用性強,在開發(fā)難度、工作量、成本上有較為明顯優(yōu)勢,適用于X系統(tǒng)的Linux平臺和具有幀緩沖(Framebuffer)的嵌入式Linux平臺的手寫輸入。


圖1為本發(fā)明方法中使用的輸入裝置的結構示意圖。
其中1為手寫筆;2為觸摸屏;3為手寫識別模塊;4為具有顯示終端的Li皿X系
統(tǒng)/嵌入式Linux系統(tǒng)。 圖2為本發(fā)明手寫輸入方法的流程方框圖,其中5-11為該方法中的各個步驟。
圖3為本發(fā)明方法所述的步驟2)中framebuffer初始化的具體步驟流程方框圖,其中12-19為其中的各個步驟。 圖4為本發(fā)明方法所述的步驟2)中手寫識別模塊初始化的具體步驟流程方框圖,其中20-28為其中的各個步驟。 圖5為本發(fā)明方法所述的步驟2)中字符輸入函數(shù)初始化的具體步驟流程方框圖,其中29-33為其中的各個步驟。 圖6為本發(fā)明方法所述的步驟3)中手寫軌跡處理的具體步驟流程方框圖,其中34-40為其中的各個步驟。 圖7為本發(fā)明方法所述的步驟4)中候選字符識別處理的具體步驟流程方框圖,其中41-47為其中的各個步驟。 圖8為本發(fā)明方法所述的步驟5)中字符選定及輸出的具體步驟流程方框圖,其中
948-53為其中的各個步驟。
具體實施例方式
下面結合附圖和實施例對本發(fā)明做進一步說明,但不限于此。 實施例1 : —種適應于li皿X操作系統(tǒng)的手寫輸入方法,如圖2所示,步驟如下 5、程序開始; 6、系統(tǒng)功能初始化,包括 6. a) fr謙buffer初始化; 6. b)手寫識別模塊初始化; 6. c)字符輸入函數(shù)初始化; 7、手寫軌跡處理; 8 、候選字符識別處理; 9、字符選定及輸出; 10、判斷退出區(qū)域是否被點擊,是則轉向下一步,否則轉向步驟7 ; 11、結束。 上面所述的步驟6中framebuffer的初始化,如圖3所示,具體步驟如下 12、開始; 13、開啟framebuffer ; 14、判斷是否打開成功?如果是,轉向下一步,否則轉向上一步; 15、將顯示緩沖區(qū)映射為虛擬內(nèi)存; 16、等待接收顯示指令; 17、是否顯示像素點?如果是,轉向下一步,否則,執(zhí)行清屏函數(shù)后轉向步驟16 ; 18、寫入像素信息; 19、屏幕顯示像素點,轉向步驟16。 上面所述的步驟6中手寫識別模塊的初始化,如圖4所示,具體步驟如下 20、開始; 21、打開li皿x系統(tǒng)串口 ; 22、判斷是否打開成功?如果是,轉向下一步,否則轉向步驟21 ; 23、向手寫識別模塊寫入?yún)?shù),設定模塊與li皿x系統(tǒng)通信波特率; 24、是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向下一步,否則轉向步驟
23 ; 25、向手寫識別模塊寫入?yún)?shù),設定手寫識別模塊的工作方式; 26、是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向下一步,否則轉向步驟
25 ; 27、向手寫識別模塊寫入?yún)?shù),設定手寫識別模塊抬筆等待時間; 28、是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向步驟23,處于接收參數(shù)
狀態(tài),否則轉向步驟27。 上面所述的步驟6中字符輸入函數(shù)的初始化,如圖5所示,具體步驟如下
29、開始; 30、等待接收待輸入字符的碼字; 31、判斷接收碼字是否是正確碼字?如果是,轉向下一步,否則轉向步驟30 ;
32、判斷光標狀態(tài)是否為待輸入狀態(tài)?如果是,轉向下一步,否則,打印出錯信息后轉向步驟30 ; 33、將待輸入字符打印到屏幕光標處,之后轉向步驟30。 上面所述的步驟7中手寫軌跡處理,如圖6所示,具體步驟如下 34、開女臺; 35、等待接收待顯示點信息; 36、判斷接收點屬性是否為抬筆?如果是,轉向上述一種適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟7,否則轉向下一步; 37、判斷接收點屬性是否為移筆?如果是,轉向下一步,否則,在屏幕上繪出該點后轉向步驟35 ; 38、判斷該點與上一點之間斜率是否存在?如果是,轉向下一步,否則轉向步驟
40 ; 39、求出斜率在屏幕上繪出兩點間線段, 40、補齊兩點線段間空白點,在屏幕顯示后轉到步驟35。 上面所述的步驟8中候選字符的識別處理,如圖7所示,具體步驟如下 41、開始; 42、判斷抬筆時間是否大于設定閾值?如果是,轉向下一步,否則,轉向上述一種適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟7 ; 43、讀取li皿x系統(tǒng)與手寫識別模塊的通信接口,獲得候選字符的GB2312碼字;44、將讀取的GB2312轉換為Unicode碼字; 45、編寫Qt界面程序,接收轉換后的Unicode碼字; 46、執(zhí)行Qt界面程序,將Unicode對應的字符顯示到屏幕; 47、轉向上述一種適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟9中。 上面所述的步驟9中字符選定及輸出,如圖8所示,具體步驟如下 48、開女臺; 49、根據(jù)Qt界面上候選字符順序,手寫筆點擊觸摸屏對應劃定區(qū)域;
50、讀取觸摸屏被點擊區(qū)域位置,獲得待輸入字符對應碼字;
51、將碼字傳遞給字符輸入函數(shù),將字符輸出到光標處;
52、清除手寫軌跡和Qt界面程序; 53、執(zhí)行一種適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟10。
實施例2: —種上述輸入方法中使用的手寫輸入裝置,包括直流電源、手寫筆1、觸摸屏2、手寫識別模塊3,其特征在于觸摸屏通過數(shù)據(jù)線和手寫識別模塊相連接;手寫識別模塊通過標準異步串行通信接口和具有顯示終端的Li皿x系統(tǒng)4相連接;直流電源連接到整個手寫輸入裝置中為其供電;手寫筆l為圓桿型,前端呈圓錐狀(如通用的圓珠筆狀)以便于使用者在觸摸屏上書寫。觸摸屏2為四線電阻式LCD分離型壓敏觸摸屏。手寫筆采用塑料材質的觸屏手寫筆。
實施例3: 和實施例2相同,只是手寫識別模塊3通過標準異步串行通信接口和具有顯示終端的嵌入式Li皿x系統(tǒng)4相連接;觸摸屏2為四線電容式LCD分離型壓敏觸摸屏;手寫筆1采用鋁制的觸屏手寫筆。
權利要求
一種適應于linux操作系統(tǒng)的手寫輸入方法,步驟如下1)開始;2)系統(tǒng)功能初始化,包括a)framebuffer初始化;b)手寫識別模塊初始化;c)字符輸入函數(shù)初始化;3)手寫軌跡處理;4)候選字符識別處理;5)字符選定及輸出;6)判斷退出區(qū)域是否被點擊,是則轉向下一步,否則轉向步驟3);7)結束。
2. 如權利要求1所述的一種適應于li皿x操作系統(tǒng)的手寫輸入方法,其中所述的步驟 2)中framebuffer的初始化,具體步驟如下al)開始;a2)開啟framebuffer 5a3)判斷是否打開成功?如果是,轉向下一步,否則轉向上一步; a4)將顯示緩沖區(qū)映射為虛擬內(nèi)存; a5)等待接收顯示指令;a6)是否顯示像素點?如果是,轉向下一步,否則,執(zhí)行清屏函數(shù)后轉向步驟a5);a7)寫入像素信息;a8)屏幕顯示像素點,轉向步驟a5)。
3. 如權利要求1所述的一種適應于li皿x操作系統(tǒng)的手寫輸入方法,其中所述的步驟 2)中手寫識別模塊的初始化,具體步驟如下bl)開始;b2)打開li皿x系統(tǒng)串口 ;b3)判斷是否打開成功?如果是,轉向下一步,否則轉向步驟b2);b4)向手寫識別模塊寫入?yún)?shù),設定模塊與li皿x系統(tǒng)通信波特率;b5)是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向下一步,否則轉向步驟b4);b6)向手寫識別模塊寫入?yún)?shù),設定手寫識別模塊的工作方式;b7)是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向下一步,否則轉向步驟b6); b8)向手寫識別模塊寫入?yún)?shù),設定手寫識別模塊抬筆等待時間; b9)是否收到正確應答指令,參數(shù)寫入成功?如果是,轉向步驟b4),處于接收參數(shù)狀 態(tài),否則轉向步驟b8)。
4. 如權利要求1所述的一種適應于li皿x操作系統(tǒng)的手寫輸入方法,其中所述的步驟 2)中字符輸入函數(shù)的初始化,具體步驟如下cl)開始;c2)等待接收待輸入字符的碼字;c3)判斷接收碼字是否是正確碼字?如果是,轉向下一步,否則轉向步驟c2); c4)判斷光標狀態(tài)是否為待輸入狀態(tài)?如果是,轉向下一步,否則,打印出錯信息后轉向步驟C2);c5)將待輸入字符打印到屏幕光標處,之后轉向步驟c2)。
5. 如權利要求1所述的一種適應于li皿x操作系統(tǒng)的手寫輸入方法,其中所述的步驟3) 中手寫軌跡處理,具體步驟如下a) 開始;b) 等待接收待顯示點信息;c) 判斷接收點屬性是否為抬筆?如果是,轉向上述一種適應于li皿x操作系統(tǒng)的手寫 輸入方法中的步驟3),否則轉向下一步;d) 判斷接收點屬性是否為移筆?如果是,轉向下一步,否則,在屏幕上繪出該點后轉向 步驟b);e) 判斷該點與上一點之間斜率是否存在?如果是,轉向下一步,否則轉向步驟g);f) 求出斜率在屏幕上繪出兩點間線段,g) 補齊兩點線段間空白點,在屏幕顯示后轉到步驟b)。
6. 如權利要求1所述的一種適應于li皿x操作系統(tǒng)的手寫輸入方法,其中所述的步驟4) 中候選字符的識別處理,具體步驟如下(a) 開始;(b) 判斷抬筆時間是否大于設定閾值?如果是,轉向下一步,否則,轉向上述一種適應于li皿X操作系統(tǒng)的手寫輸入方法中的步驟3);(c) 讀取li皿x系統(tǒng)與手寫識別模塊的通信接口,獲得候選字符的GB2312碼字;(d) 將讀取的GB2312轉換為Unicode碼字;(e) 編寫Qt界面程序,接收轉換后的Unicode碼字;(f) 執(zhí)行Qt界面程序,將Unicode對應的字符顯示到屏幕;(g) 轉向上述一種適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟5)中。
7. 如權利要求1所述的一種適應于li皿x操作系統(tǒng)的手寫輸入方法,其中所述的步驟5) 中字符選定及輸出,具體步驟如下a) 開始;b) 根據(jù)Qt界面上候選字符順序,手寫筆點擊觸摸屏對應劃定區(qū)域;c) 讀取觸摸屏被點擊區(qū)域位置,獲得待輸入字符對應碼字;d) 將碼字傳遞給字符輸入函數(shù),將字符輸出到光標處;e) 清除手寫軌跡和Qt界面程序;f) 執(zhí)行一種適應于li皿x操作系統(tǒng)的手寫輸入方法中的步驟6)。
8. 如權利要求1所述的輸入方法中使用的一種手寫輸入裝置,包括直流電源、手寫筆、 觸摸屏、手寫識別模塊,其特征在于觸摸屏通過數(shù)據(jù)線和手寫識別模塊相連接;手寫識別模塊通過標準異步串行通信接口和具有顯示終端的Li皿x系統(tǒng)或嵌入式Li皿x系統(tǒng)相連接; 直流電源連接到整個手寫輸入裝置中為其供電;手寫筆為圓桿型,前端呈圓錐狀以便于使 用者在觸摸屏上書寫。
9. 如權利要求8所述的一種手寫輸入裝置,其特征在于所述的觸摸屏為四線電阻式或 四線電容式LCD分離型壓敏觸摸屏。
10. 如權利要求8所述的一種手寫輸入裝置,其特征在于所述的手寫筆采用金屬或塑料材質的觸屏手寫筆'
全文摘要
一種用于Linux操作系統(tǒng)環(huán)境下的手寫輸入方法,通過C語言和基于C++的Qt類庫構造了一種手寫輸入方法。用戶通過手寫筆在觸摸屏上進行字符書寫,識別模塊進行軌跡識別和字符識別,并將識別的結果發(fā)送至Linux系統(tǒng),依預先設定,將手寫軌跡和識別字符在Linux顯示終端上顯示,通過用戶點擊選擇,進行字符輸入。本發(fā)明采用模塊化程序構造,不依賴于適用環(huán)境的硬件結構,系統(tǒng)軟硬件接口簡單;可適用于嵌入式Linux系統(tǒng)中,實現(xiàn)在移動終端上的使用,本方法開發(fā)周期短,實用性強,開發(fā)難度低、成本及工作量小,適于X系統(tǒng)的Linux平臺和具有幀緩沖的嵌入式Linux平臺的手寫輸入。
文檔編號G06F3/048GK101763216SQ20091025574
公開日2010年6月30日 申請日期2009年12月28日 優(yōu)先權日2009年12月28日
發(fā)明者徐超, 林賀, 王恒, 石祚夫, 袁東風, 陳飛, 魏斌 申請人:山東大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1