新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 漫談WinCE的手寫識別技術(shù)(一)

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

        作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

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

        本文引用地址:http://www.104case.com/article/201609/304832.htm

        //TITLE:

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

        //AUTHOR:

        // norains

        //DATE:

        // Wednesday 24-January -2007

        //Environment:

        // EVC4.0 + Standard SDK

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

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

        大體上來說,調(diào)用WinCE自帶的識別引擎進(jìn)行文字識別需要經(jīng)過如下十個(gè)步驟:

        1.調(diào)用HwxConfig ()函數(shù)初始化識別引擎.在每個(gè)應(yīng)用程序中,該初始化只需要調(diào)用一次.

        2.調(diào)用HwxCreate()創(chuàng)建識別引擎句柄.

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

        3.調(diào)用HwxSetGuide()函數(shù)來設(shè)置識別框的范圍.

        設(shè)置該識別框范圍的重要性不言而喻,因?yàn)槿绻O(shè)置不恰當(dāng),則直接導(dǎo)致識別出錯(cuò)甚至無法識別.

        該函數(shù)傳入的形參是一個(gè)HWXGUIDE結(jié)構(gòu),該結(jié)構(gòu)包含了識別框的一切信息:

        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;

        如果用文字來描述各個(gè)形參的含義,我實(shí)在沒這個(gè)能力讓語言讀起來不覺得乏味,所以最簡單最直接最直觀的方法,我還是用圖片來標(biāo)識出各個(gè)參數(shù)的含義,至少應(yīng)該不會(huì)讓腦袋覺得發(fā)暈:

        xOriginy,Origin分別定義了識別框的起始坐標(biāo),而cxBox,cyBox則分別定義了識別框的長度和寬度.需要注意的是,這四個(gè)參數(shù)是以屏幕坐標(biāo)為基準(zhǔn),如果我們獲得的是應(yīng)用程序窗口的坐標(biāo),在賦值之前,我們需要調(diào)用MapWindowPoints()進(jìn)行轉(zhuǎn)換.當(dāng)然,相同的道理也同樣運(yùn)用于該結(jié)構(gòu)的其它形參.

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

        4.調(diào)用HwxALCValid()和HwxALCPriority()定義識別的標(biāo)準(zhǔn).

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

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


        上一頁 1 2 下一頁

        關(guān)鍵詞:

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 三穗县| 巴林左旗| 营山县| 平山县| 合阳县| 赞皇县| 莱阳市| 普安县| 敦煌市| 罗山县| 北川| 汝阳县| 乐昌市| 子长县| 田东县| 会同县| 兴化市| 吉林市| 唐海县| 巧家县| 襄城县| 新巴尔虎右旗| 田林县| 三明市| 麻栗坡县| 龙口市| 佛教| 桃江县| 新绛县| 富顺县| 收藏| 厦门市| 监利县| 拉孜县| 油尖旺区| 福鼎市| 利川市| 皮山县| 宝清县| 东海县| 宁国市|