久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 漫談WinCE的手寫識別技術(一)

漫談WinCE的手寫識別技術(一)

作者: 時間:2016-09-12 來源:網絡 收藏

//========================================================================

本文引用地址:http://cqxgywz.com/article/201609/304832.htm

//TITLE:

// 漫談WinCE的手寫識別技術(一)

//AUTHOR:

// norains

//DATE:

// Wednesday 24-January -2007

//Environment:

// EVC4.0 + Standard SDK

//========================================================================

WinCE從4.0開始,集成了手寫識別輸入法,可以識別繁體中文,日文和韓文.因此如果在WinCE下采用相應的API函數重寫上述三種語言的手寫識別輸入似乎顯得多此一舉.但多余并不代表沒有了解的價值,今天,就讓我們抽絲剝繭來探究WinCE下的手寫識別吧!

大體上來說,調用WinCE自帶的識別引擎進行文字識別需要經過如下十個步驟:

1.調用HwxConfig ()函數初始化識別引擎.在每個應用程序中,該初始化只需要調用一次.

2.調用HwxCreate()創建識別引擎句柄.

函數原型為:HRC HwxCreate(HRC hrc).該函數有個形參hrc,保存的是已存在的識別引擎句柄.如果傳入該形參,則可以根據已存在的引擎的設置來創建新的識別引擎.當然通常情況下我們僅僅是創建一個新的引擎,所以該函數更多情況下是不使用形參:

3.調用HwxSetGuide()函數來設置識別框的范圍.

設置該識別框范圍的重要性不言而喻,因為如果設置不恰當,則直接導致識別出錯甚至無法識別.

該函數傳入的形參是一個HWXGUIDE結構,該結構包含了識別框的一切信息:

typedef struct tagHWXGUIDE {

UINT cHorzBox;

UINT cVertBox;

INT xOrigin;

INT yOrigin;

UINT cxBox;

UINT cyBox;

UINT cxOffset;

UINT cyOffset;

UINT cxWriting;

UINT cyWriting;

UINT cyMid;

UINT cyBase;

UINT nDir;

} HWXGUIDE, *PHWXGUIDE;

如果用文字來描述各個形參的含義,我實在沒這個能力讓語言讀起來不覺得乏味,所以最簡單最直接最直觀的方法,我還是用圖片來標識出各個參數的含義,至少應該不會讓腦袋覺得發暈:

xOriginy,Origin分別定義了識別框的起始坐標,而cxBox,cyBox則分別定義了識別框的長度和寬度.需要注意的是,這四個參數是以屏幕坐標為基準,如果我們獲得的是應用程序窗口的坐標,在賦值之前,我們需要調用MapWindowPoints()進行轉換.當然,相同的道理也同樣運用于該結構的其它形參.

nDir定義了書寫的順序,我們一般使用HWX_HORIZONTAL,表明書寫方式是水平書寫.當然,如果有特殊要求,我們還可以設置HWX_BIDIRECTIONAL或HWX_VERTICAL.

4.調用HwxALCValid()和HwxALCPriority()定義識別的標準.

HwxALCValid()用來定義識別字符的范圍,HwxALCPriority()則是定義返回字符的優先級.

根據幫助文檔,可以識別的字符文字為:簡體中文,繁體中文,日文,韓文和英文.但在實際使用中,卻是無法正確識別簡體中文,這不能不說是一個遺憾.在平時應用中,我們一般只需識別一種文字,此時我們可以只是簡單地設置HwxALCValid()即可:


上一頁 1 2 下一頁

關鍵詞:

評論


相關推薦

技術專區

關閉