專利名稱:檢測(cè)以墨水輸入的手繪對(duì)象的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及計(jì)算機(jī)系統(tǒng),特別是涉及改進(jìn)過的用于識(shí)別手繪對(duì)象的系統(tǒng)和方法。
(2)背景技術(shù)識(shí)別手繪對(duì)象對(duì)用戶能用墨水輸入或墨水注解直接繪制在他們的計(jì)算機(jī)上很重要。當(dāng)前的硬件和軟件也許能相當(dāng)好地捕獲代表手寫的墨跡,但現(xiàn)在還不能類似地識(shí)別和表示手繪對(duì)象的含義。因此,用戶改為使用基于菜單的應(yīng)用程序來制作對(duì)象的繪圖??捎蛇@些應(yīng)用程序呈現(xiàn)各種形狀供用戶選擇和復(fù)制到繪圖網(wǎng)格上。隨后可將復(fù)制的形狀的大小調(diào)整到理想的比例,并且直至繪圖結(jié)束,用戶都可將附加的形狀放置到繪圖網(wǎng)格上并調(diào)整其大小。
至今,致力于手繪對(duì)象的形狀識(shí)別的研究產(chǎn)生了邊際結(jié)果。例如已使用了可從按特定次序做的特定數(shù)量的筆劃中識(shí)別圓圈或方框之類的簡單幾何形狀的增量識(shí)別算法。然而,為了識(shí)別特定的手繪形狀,這種增量算法依賴于筆劃次序和/或假定一特定數(shù)量的筆劃。這種方法由于幾種原因不是很穩(wěn)健。首先,所有的增量算法都不解決確定哪組筆劃是一起屬于(因?yàn)槟切┕P劃代表一個(gè)特定的形狀)哪個(gè)集合的分組問題。沒有能力將屬于一個(gè)形狀的筆劃組合在一起,增量算法也許不能容納箭頭之類的多筆劃。另外,因?yàn)樵隽克惴ㄒ蕾囉谝粋€(gè)形狀的筆劃次序和/或?yàn)槠浼俣ㄒ惶囟〝?shù)量的筆劃,增量算法無法解決過度描繪的問題(在繪制一個(gè)形狀時(shí),可能會(huì)過度描繪一個(gè)筆劃)。
所需要的是一種對(duì)筆劃輸入次序和/或形成任何給定形狀所需的筆劃數(shù)量不敏感的用于識(shí)別手繪對(duì)象的形狀的方法。任何這種系統(tǒng)和方法都應(yīng)識(shí)別多筆劃手繪形狀并能確定哪組筆劃合在一起代表不同的形狀。
(3)發(fā)明內(nèi)容簡要地說,本發(fā)明提供檢測(cè)以墨水輸入的手繪對(duì)象的系統(tǒng)和方法。為此目的,提供了一個(gè)可識(shí)別諸如以墨水輸入的圖示或圖表之類的繪圖的形狀識(shí)別器。該形狀識(shí)別器可包括用于在繪圖中識(shí)別閉合的容器的容器識(shí)別器和識(shí)別未閉合的連接器的連接器識(shí)別器。容器識(shí)別器可包括任何數(shù)量的形狀分類器,包括橢圓形/圓形分類器、多邊形識(shí)別器、三角形識(shí)別器、四邊形分類器等等。連接器識(shí)別器可包括基干識(shí)別器、箭頭識(shí)別器和和各種其它的識(shí)別器以識(shí)別繪圖中容器之間的連接器的類型。
本發(fā)明可通過首先對(duì)每個(gè)容器進(jìn)行容器識(shí)別以識(shí)別閉合的形狀(包括圓形、三角形、四邊形、五邊形、六邊形等等)來識(shí)別手繪形狀,從而識(shí)別手繪形狀。一個(gè)實(shí)施例可運(yùn)用決策樹,它可將用于識(shí)別三角形之類的形狀的總的統(tǒng)計(jì)特征與識(shí)別的形狀的特定類型的基于規(guī)則的說明(例如將等腰三角形與等邊三角形或直角三角形區(qū)別開來)相結(jié)合。在此實(shí)施例中,總的統(tǒng)計(jì)特征對(duì)諸如筆劃的過度繪制及重疊之類的局部變異是穩(wěn)健的,并且基于規(guī)則的說明可以提供更詳細(xì)有關(guān)形狀(包括幾種諸如梯形、平行四邊形、菱形、矩形和正方形之類的多邊形)的信息。
然后可以對(duì)每個(gè)連接器進(jìn)行連接器識(shí)別以識(shí)別包括基干、箭頭等等在內(nèi)的未閉合的連接器的形狀。在一個(gè)實(shí)施例中,可將折線用于模擬基干。在此實(shí)施例中,本發(fā)明可處理基干的連續(xù)筆劃、基干的重疊筆劃和基干的過度繪制筆劃。在識(shí)別出連接器的基干后,可以識(shí)別位于基干一端或兩端的箭頭。
有利的是系統(tǒng)和方法對(duì)筆劃輸入次序和形成手繪形狀的筆劃數(shù)量不敏感。另外,可將該系統(tǒng)和方法用于識(shí)別繪圖中任何閉合容器的和未閉合的連接器。一旦識(shí)別,就可以提供形狀的類型、位置、方向和大小。
從以下結(jié)合附圖的詳細(xì)描述中,其它優(yōu)點(diǎn)將變得很明顯。
(4)
圖1為一般地表示可合并本發(fā)明的計(jì)算機(jī)系統(tǒng)的方框圖;圖2為一般地表示根據(jù)發(fā)明的一個(gè)方面的用于識(shí)別手繪對(duì)象的形狀的系統(tǒng)部件的示例結(jié)構(gòu)的方框圖;圖3為一般地表示根據(jù)發(fā)明的一個(gè)方面為識(shí)別手繪對(duì)象的形狀所采取的步驟的流程圖;圖4為一般地表示根據(jù)發(fā)明的一個(gè)方面為識(shí)別容器和連接器的形狀所采取的步驟的流程圖;圖5為一般地表示根據(jù)發(fā)明的一個(gè)方面的用于進(jìn)行形狀識(shí)別的決策樹,它能將特定形狀的總的統(tǒng)計(jì)特征與基于規(guī)則的說明相結(jié)合;
圖6為一般地表示根據(jù)發(fā)明的一個(gè)方面為識(shí)別閉合容器的形狀所采取的步驟的流程圖;圖7為一般地表示根據(jù)發(fā)明的一個(gè)方面為執(zhí)行圓度測(cè)試所采取的步驟的流程圖;圖8為一般地表示根據(jù)發(fā)明的一個(gè)方面由分類器采取的用來區(qū)分閉合容器的形狀是圓還是橢圓的步驟的流程圖;圖9為一般地表示根據(jù)發(fā)明的一個(gè)方面由分類器采取的用來區(qū)分閉合容器的形狀是何種多邊形的步驟的流程圖;圖10為一般地表示根據(jù)發(fā)明的一個(gè)方面在圍繞該形狀的凸包中具有最大內(nèi)接多邊形的形狀的筆劃的示例圖;圖11為一般地表示根據(jù)發(fā)明的一個(gè)方面的形狀的筆劃與圍繞該形狀的凸包中最大的內(nèi)接多邊形之間的最大距離的示例圖;圖12為一般地表示根據(jù)發(fā)明的一個(gè)方面從手繪形狀中識(shí)別出的多邊形的邊的精細(xì)的示例圖;圖13為一般地表示根據(jù)發(fā)明的一個(gè)方面為識(shí)別連接器的形狀而采取的步驟的流程圖;圖14為一般地表示根據(jù)發(fā)明的一個(gè)方面的兩個(gè)容器之間的連接器的示例圖;圖15為一般地表示根據(jù)發(fā)明的一個(gè)方面合并基干筆劃或筆劃件的示例圖。
(5)具體實(shí)施方式
圖1示出可實(shí)施本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的例子。計(jì)算系統(tǒng)環(huán)境100只是合適的計(jì)算環(huán)境的一個(gè)例子,并不旨在限定本發(fā)明的使用范圍和功能。不應(yīng)將計(jì)算環(huán)境100解釋成依賴于或需要示例操作環(huán)境100中所示的任何一個(gè)部件或其組合。
本發(fā)明可用許多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置操作。熟知的可適合與本發(fā)明一起使用的計(jì)算系統(tǒng)、環(huán)境、和/或配置包括,但不限于個(gè)人電腦、服務(wù)器計(jì)算機(jī)、手提或膝上設(shè)備、圖形輸入板設(shè)備、無頭服務(wù)器、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程的消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC機(jī)、微型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任何以上系統(tǒng)或設(shè)備的分布式計(jì)算機(jī)環(huán)境等等。
本發(fā)明可以在計(jì)算機(jī)可執(zhí)行指令的總的上下文中描述,例如由計(jì)算機(jī)執(zhí)行的程序模塊。一般來說,程序模塊包括執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的例行程序、程序、對(duì)象、部件、數(shù)據(jù)結(jié)構(gòu)等等。本發(fā)明也可應(yīng)用于分布式計(jì)算環(huán)境中,在該環(huán)境中任務(wù)是由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的。在分布式計(jì)算環(huán)境中,可將程序模塊定位于包含存儲(chǔ)器設(shè)備的本地和/或遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)器媒體中。
參見圖1,用于實(shí)施本發(fā)明的示例系統(tǒng)包括以計(jì)算機(jī)110形式的通用計(jì)算裝置。計(jì)算機(jī)110的部件可包括,但不限于處理單元120、系統(tǒng)存儲(chǔ)器130、和連接各種系統(tǒng)部件(包括將系統(tǒng)存儲(chǔ)器連接至處理單元120)的系統(tǒng)總線121。系統(tǒng)總線121可以是幾種總線結(jié)構(gòu)(包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、和使用各種總線結(jié)構(gòu)中任一種的本地總線)中的任一種。作為示例而非限定,這種結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)本地總線、和外部設(shè)備互連(PCT)總線(也稱為夾層總線)。
計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀媒體。計(jì)算機(jī)可讀媒體可以是可由計(jì)算機(jī)110訪問的任何可用媒體,并包括以任何方法或技術(shù)實(shí)施的用于存儲(chǔ)信息的易失性和非易失性媒體,及可移動(dòng)/不可移動(dòng)媒體,作為示例而非限定,計(jì)算機(jī)可讀媒體可包括計(jì)算機(jī)存儲(chǔ)媒體和通信媒體。計(jì)算機(jī)存儲(chǔ)媒體包括以任何用于存儲(chǔ)信息的方法或技術(shù)(例如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù))實(shí)施的易失性和非易失性、可移動(dòng)和不可移動(dòng)媒體。計(jì)算機(jī)存儲(chǔ)器媒體包括,但不限于RAM、ROM、EEPROM、閃存或其它存儲(chǔ)技術(shù)、CD-ROM、數(shù)字通用光盤(DVD)或其它光盤存儲(chǔ)器、磁帶盒、磁帶、磁盤存儲(chǔ)器或其它磁存儲(chǔ)裝置、或任何可用于存儲(chǔ)可由計(jì)算機(jī)110訪問的想要的信息的其它媒體。通信媒體通常體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或以已調(diào)制的數(shù)據(jù)信號(hào)(例如載波或其它傳輸機(jī)制)形式的其它數(shù)據(jù)并包括任何信息傳輸媒體。“已調(diào)制的數(shù)據(jù)信號(hào)”一詞指一個(gè)信號(hào)一個(gè)或多個(gè)屬性被設(shè)定,或以編碼信號(hào)中的信息的方式被改變。作為示例而非限定,通信媒體包括有線網(wǎng)絡(luò)或直接連線連接之類的有線媒體,以及諸如聲、RF、紅外線的無線媒體及其它無線媒體。任何上述媒體的組合也應(yīng)包括在計(jì)算機(jī)可讀媒體的范圍內(nèi)。
系統(tǒng)存儲(chǔ)器130包括以諸如只讀存儲(chǔ)器(ROM)131和隨機(jī)存儲(chǔ)器(RAM)132之類的易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)媒體。包括幫助在計(jì)算機(jī)110的元件之間傳輸信息(例如在啟動(dòng)期間)的基本例行程序的基本輸入/輸出系統(tǒng)133(BIOS)通常被存儲(chǔ)在ROM131中。RAM132通常包括可由處理單元120立即訪問和/或當(dāng)前由處理單元120操作的數(shù)據(jù)和/或程序模塊。作為示例而非限定,圖1示出操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110也可包括其它可移動(dòng)/不可移動(dòng)、易失性和非易失性計(jì)算機(jī)存儲(chǔ)媒體。僅作為示例,圖1示出硬盤驅(qū)動(dòng)器141(它從不可移動(dòng)媒體、非易失性磁媒體讀取或?qū)懭氩豢梢苿?dòng)媒體、非易失性磁媒體)、磁盤驅(qū)動(dòng)器151(它從可移動(dòng)、非易失性磁盤152讀取或?qū)懭肟梢苿?dòng)、非易失性磁盤152)、及光盤驅(qū)動(dòng)器155(它從諸如CD ROM或其它光媒體之類的可移動(dòng)、非易失性光盤156讀取或?qū)懭胫T如CD ROM或其它光媒體之類的可移動(dòng)、非易失性光盤156)。其它可用于示例操作環(huán)境中的可移動(dòng)/不可移動(dòng)、易失性和非易失性計(jì)算機(jī)存儲(chǔ)媒體包括,但不限于盒式磁帶、閃存卡、數(shù)字通用光盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。通常通過諸如接口140之類的不可移動(dòng)存儲(chǔ)器接口將硬盤驅(qū)動(dòng)器141連接到系統(tǒng)總線121,并通過諸如接口150之類的不可移動(dòng)存儲(chǔ)器接口將磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155。
上述和圖1中示出的驅(qū)動(dòng)器及與它們相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)媒體為計(jì)算機(jī)110提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)。在圖1中,例如硬盤驅(qū)動(dòng)器141被示為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146及程序數(shù)據(jù)147。注意這些部件既可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136及程序數(shù)據(jù)137相同,也可以與之不同。這里給予存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146及程序數(shù)據(jù)147不同的編號(hào)是為了至少表示了它們是不同的副本。用戶可通過諸如圖形輸入板、或電子數(shù)字轉(zhuǎn)換器164、麥克風(fēng)163、鍵盤162和指點(diǎn)裝置161(通常稱為鼠標(biāo)、跟蹤球或觸摸輸入板)之類的輸入裝置將命令和信息輸入到計(jì)算機(jī)110。圖1中未示出的其它輸入裝置可包括操縱桿、游戲板、圓盤式衛(wèi)星電視天線、掃描儀或包括了包含生物測(cè)定傳感器、環(huán)境傳感器、位置傳感器或其它類型的傳感器的裝置的其它裝置。這些和其它輸入裝置通常由耦合至系統(tǒng)總線的用戶輸入接口160連接到處理單元120,但也可由諸如并行端口、游戲端口或通用串行總線(USB)之類的其它接口和總線結(jié)構(gòu)連接。監(jiān)視器191或其它類型的顯示裝置也通過諸如視頻接口190之類的接口連接到系統(tǒng)總線121。也可將監(jiān)視器191與觸摸輸入板等一體化。注意可以將監(jiān)視器和/或觸摸輸入板物理連接至合并了計(jì)算裝置110的機(jī)架(例如在一圖形輸入板型的個(gè)人電腦中)。另外,諸如計(jì)算裝置110之類的計(jì)算機(jī)也可包括其它外圍輸出設(shè)備,如揚(yáng)聲器195和打印機(jī)196,它們可以通過輸出外圍接口194等連接。
本發(fā)明中的計(jì)算機(jī)110可以使用到一個(gè)或多個(gè)如遠(yuǎn)程計(jì)算機(jī)180那樣的遠(yuǎn)程計(jì)算機(jī)邏輯連接,在聯(lián)網(wǎng)的環(huán)境中操作。該遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人電腦、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等裝置或其它公共網(wǎng)絡(luò)節(jié)點(diǎn)并通常包括上述與計(jì)算機(jī)110相關(guān)的全部或許多元件,盡管圖1僅示出了存儲(chǔ)裝置181。圖1示出的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。這種連網(wǎng)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)中是很常見的。當(dāng)用于LAN的網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)110通過網(wǎng)絡(luò)接口和適配器170連接到LAN171。當(dāng)用于WAN的網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172和用于在WAN173(例如因特網(wǎng))上建立通信的其它裝置。該調(diào)制解調(diào)器172(可以是內(nèi)置的或外接的)可以通過用戶輸入接口160或其它合適的機(jī)構(gòu)連接到系統(tǒng)總線121。在聯(lián)網(wǎng)的環(huán)境中,相對(duì)所述的與計(jì)算機(jī)110畫出的程序模塊或其一部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)裝置中。作為示例而非限定,圖1示出在存儲(chǔ)器裝置181上的遠(yuǎn)程應(yīng)用程序185。我們將會(huì)理解所示的網(wǎng)絡(luò)連接是示例性的,還可以用其它在計(jì)算機(jī)之間建立通信鏈路的方法。
手繪對(duì)象的形狀識(shí)別本發(fā)明通常針對(duì)用于提供手繪對(duì)象的形狀識(shí)別的系統(tǒng)和方法。如這里使用的那樣,手繪對(duì)象指任何手寫的非字符的形狀或繪圖。用戶可不受手繪輸入的限制自由地畫圖和畫流程圖。一個(gè)形狀可以有許多筆劃,且輸入筆劃的次序可以是任意的,使得系統(tǒng)和方法可將任何墨水作為輸入接受。另外,筆劃可以是過度繪制或重疊的。在這兩種情況下,該系統(tǒng)和方法都可自動(dòng)地檢測(cè)到正確的形狀。
具體來說,該系統(tǒng)和方法可以識(shí)別容器和在容器之間繪制的連接器的手繪形狀。如這里使用的那樣,容器指任何閉合的繪圖對(duì)象。如這里使用的那樣,連接器指任何連接容器的繪圖對(duì)象。如將會(huì)理解的那樣,這里所述的各種方框圖,流程圖和情況只是示例,本發(fā)明還會(huì)應(yīng)用于許多其它的情況。
回到圖2,它示出了一般地表示手繪對(duì)象的形狀識(shí)別的系統(tǒng)部件的示例結(jié)構(gòu)的方框圖。那些本領(lǐng)域的技術(shù)人員會(huì)理解可以將在圖中所示的方框中實(shí)施的功能作為分開的部件實(shí)施,或可以在一個(gè)單個(gè)的部件中實(shí)施幾個(gè)或所有方框的功能。例如可以將圖表檢測(cè)器204的功能包括在形狀識(shí)別器206中?;蚩蓪⑷萜髯R(shí)別器208的功能作為一個(gè)分開的部件實(shí)施。
墨水解析器202可接受任何墨水,包括具有繪圖對(duì)象的墨水。墨水解析器202可包括一可操作地耦合的圖表檢測(cè)器204和可操作地耦合的形狀識(shí)別器206。一般來說,圖表檢測(cè)器204和形狀識(shí)別器206可以是諸如核心部件、應(yīng)用程序、鏈接程序庫、對(duì)象等等之類任何類型的可執(zhí)行軟件代碼。圖表檢測(cè)器204可包括可操作地耦合的容器檢測(cè)器212和可操作地耦合的連接器檢測(cè)器214,而形狀識(shí)別器206可包括可操作地耦合的容器識(shí)別器208和可操作地耦合的連接器識(shí)別器210。容器識(shí)別器208可包括任何數(shù)量的可操作地耦合的分類器,例如橢圓/圓分類器216、多邊形分類器218、三角形分類器220、四邊形分類器222等等。連接器識(shí)別器210可包括任何數(shù)量的可操作地耦合的識(shí)別器,例如基干識(shí)別器224、箭頭識(shí)別器226等等。這些部件中的每一個(gè)都可以是諸如核心部件、應(yīng)用程序、鏈接程序庫、對(duì)象等等之類任何類型的可執(zhí)行軟件代碼或其它類型的可執(zhí)行軟件代碼。
圖3示出一般地表示為手繪對(duì)象的形狀識(shí)別所采取的步驟的流程圖。在步驟302中,包括具有繪圖對(duì)象的墨水在內(nèi)的任何墨水都可被解析。例如在一個(gè)實(shí)施例中,一頁墨水可作為輸入接受并被解析。在此實(shí)施例中,例如墨水解析器可能不具有在該頁面上的墨水的先驗(yàn)知識(shí)。因此,可以執(zhí)行諸如詞分組、寫/繪圖分類和繪圖分組之類的基礎(chǔ)算法。為了執(zhí)行詞分組,可將筆劃分組到詞、線和塊的層次級(jí)別中。這樣,詞分組過程可包括筆劃的特征提取,以捕獲距離、幾何相異點(diǎn)和線性及其它筆劃特征。詞分組過程還可包括根據(jù)暫時(shí)信息將筆劃分組的動(dòng)態(tài)編程。詞分組過程還可包括根據(jù)空間信息收集分組筆劃。在組中識(shí)別的詞、線和塊不必與現(xiàn)實(shí)的語義詞、線和塊相對(duì)應(yīng)。實(shí)際上,這些組可包括手繪對(duì)象的筆劃。
為了執(zhí)行寫/繪圖分類,可識(shí)別各種特征來區(qū)別寫和畫。例如可將諸如曲率、密度和其它手寫模塊特征之類的單字特征用于區(qū)分寫和畫圖。在一個(gè)實(shí)施例中,可將諸如臨時(shí)和空間語境特征之類的語境特征用于區(qū)分寫和畫圖??蓪⒏魈卣饔成渲聊:瘮?shù),并根據(jù)模糊函數(shù)的組合確定寫和畫之間的分類。
在執(zhí)行詞分組和寫/繪圖分類之后,可通過執(zhí)行繪圖分組來很好地組織繪圖筆劃。可根據(jù)它們之間的空間關(guān)系將繪圖筆劃分組成單個(gè)的對(duì)象來執(zhí)行繪圖分組??蓪⒁挥行У幕诰W(wǎng)格的方法用于使墨水筆劃適合于具有合適尺寸的圖象網(wǎng)格??蓸?biāo)志圖象網(wǎng)格來找到連接的部件。每個(gè)連接的部件可對(duì)應(yīng)于一繪圖對(duì)象??蓪l(fā)式規(guī)則用于調(diào)節(jié)繪圖對(duì)象。
在步驟304中,可通過找到屬于一個(gè)繪圖對(duì)象的所有筆劃來執(zhí)行圖表檢測(cè),以對(duì)繪圖筆劃進(jìn)行分組。這樣用戶就能不受輸入限制自由地繪制圖表和流程圖了。例如一個(gè)形狀可具有許多筆劃而輸入次序可以是任意的。另外,筆劃可以是過度繪制或重疊的。在其中任何一種情況下,該系統(tǒng)都可自動(dòng)地檢測(cè)到正確的形狀。在一個(gè)實(shí)施例中,可將超圖用于表示圖表和流程圖,這樣就可以完全地表示容器和連接器之間的關(guān)系了。因此,在此實(shí)施例中可以支持可與兩個(gè)以上容器相連的連接器。
在一個(gè)實(shí)施例中,容器檢測(cè)器212可以找到屬于一個(gè)容器的所有筆劃,而連接器檢測(cè)器214可以找到屬于一個(gè)連接器的所有筆劃。這樣,就可以按時(shí)間次序執(zhí)行最佳搜索以檢測(cè)任何容器。也可以執(zhí)行有效的搜索來檢測(cè)容器和連接器。最后,可以為每個(gè)檢測(cè)到的容器執(zhí)行內(nèi)容檢測(cè)。
在步驟306中,可以執(zhí)行形狀識(shí)別來識(shí)別容器和連接器。在為每個(gè)容器和每個(gè)連接器將所有的筆劃分組之后,形狀識(shí)別引擎206(在一個(gè)實(shí)施例中)可用于識(shí)別在諸如圖表之類的圖中的閉合的容器和未閉合的連接器。識(shí)別出之后,可提供該形狀的類型、位置、方向和大小。有利的是筆劃輸入的次序和筆劃的數(shù)量不影響識(shí)別。當(dāng)執(zhí)行形狀識(shí)別來識(shí)別閉合的容器和未閉合的連接器時(shí),可在步驟308生成圖。
圖4為一般地表示根據(jù)發(fā)明的一個(gè)方面為進(jìn)行如步驟306所指的容器和連接器的形狀識(shí)別所采取的步驟的流程圖??梢栽诓襟E402對(duì)每個(gè)容器進(jìn)行容器識(shí)別以識(shí)別包括圓形、三角形、四邊形、五邊形、六邊形等等閉合形狀。另外,可以識(shí)別形狀的特定類型,例如區(qū)分圓和橢圓,或?qū)⒌妊切闻c等邊三角形或直角三角形區(qū)別開來。象另一個(gè)例子,可以識(shí)別四邊形的幾種類型,包括梯形、平行四邊形、菱形、矩形和正方形。
在一個(gè)實(shí)施例中,例如容器識(shí)別器208可運(yùn)用決策樹,該樹可以將特定形狀的總的統(tǒng)計(jì)特征和基于規(guī)則的說明結(jié)合起來。在此實(shí)施例中,總的統(tǒng)計(jì)特征對(duì)諸如筆劃的重疊繪制之類的局部變異是穩(wěn)健的,并且基于規(guī)則的說明可以提供更詳細(xì)有關(guān)形狀的信息。例如對(duì)一等腰三角形的基于規(guī)則的說明可包括具有兩個(gè)相等長度的邊的三角形的說明。
在步驟404中,可以對(duì)每個(gè)連接器進(jìn)行連接器識(shí)別,以識(shí)別包括基干、箭頭等在內(nèi)的閉合連接器的形狀。在一個(gè)實(shí)施例中,折線可用于逼近一基干。在該實(shí)施例中,例如連接器識(shí)別器210可處理基干的連續(xù)筆劃、基干的重疊筆劃和基干的過度繪制筆劃。在識(shí)別出連接器的基干后,可以識(shí)別位于基干一端或兩端的箭頭。連接器識(shí)別器210可調(diào)用基干識(shí)別器224和/或箭頭識(shí)別器226,用于分別識(shí)別連接器的基干和箭頭。
圖5為一般地表示根據(jù)發(fā)明的一個(gè)方面的用于進(jìn)行形狀識(shí)別的決策樹,它能將特定形狀的總的統(tǒng)計(jì)特征與基于規(guī)則的說明相結(jié)合??梢詫儆谝粋€(gè)容器的分成一組的筆劃502輸入到圓度測(cè)試504以確定筆劃的形狀有多象一個(gè)圓或橢圓。然后圓度測(cè)試504就可確定是否使用橢圓/圓分類器506或多邊形分類器508來識(shí)別筆劃502的形狀。橢圓/圓分類器506可確定筆劃的形狀是橢圓510或是圓512。多邊形分類器508可確定筆劃的形狀是五邊形518或是六邊形520,或是否采用三角形分類器514或多邊形分類器516來識(shí)別筆劃502的形狀。三角形分類器514可以確定筆劃的形狀是否為三角形,并且還可以用基于規(guī)則的說明來為區(qū)別該三角形是等腰三角形522、等邊三角形524或是直角三角形526提供更詳細(xì)的信息。同樣地,四邊形分類器可以確定筆劃的形狀是否為四邊形,并且還可以用基于規(guī)則的說明來為區(qū)別該多邊形是正方形528、矩形530、菱形532、梯形534、或平行四邊形536提供更詳細(xì)的信息。
圖6為一般地表示為識(shí)別閉合容器的形狀所采取的步驟的流程圖。在步驟602中,可以進(jìn)行以測(cè)試該形狀有多象一個(gè)圓或橢圓。如果在步驟604中,圓度測(cè)試的結(jié)果示出該形狀可能是圓或橢圓,則在步驟606執(zhí)行用于識(shí)別圓或橢圓的過程。如果示出該形狀不可能是圓或橢圓,則在步驟608執(zhí)行用于識(shí)別多邊形的過程。步驟608中的用于識(shí)別多邊形的過程可以示出該多邊形可能是三角形或四邊形。如果在步驟610中用于識(shí)別多邊形的過程的結(jié)果示出該多邊形可能是三角形,則可以在步驟612中執(zhí)行三角形的特定類型或子分類的識(shí)別過程。例如三角形的特定類型可以是等腰三角形522、等邊三角形524或是直角三角形526。然而,如果在步驟614中用于識(shí)別多邊形的過程的結(jié)果示出該多邊形可能是四邊形,則可以在步驟616中執(zhí)行四邊形的特定類型或子分類的識(shí)別過程。例如四邊形的特定類型可以是正方形528、矩形530、菱形532、梯形534、或平行四邊形536。否則在步驟608中的用于識(shí)別多邊形的過程示出該多邊形可能是五邊形518或六邊形520。如果在步驟618中用于識(shí)別多邊形的過程的結(jié)果示出該多邊形可能是五邊形,則可以在步驟620中執(zhí)行五邊形的識(shí)別過程。如果在步驟622中用于識(shí)別多邊形的過程的結(jié)果示出該多邊形可能是六邊形,則可以在步驟624中執(zhí)行六邊形的識(shí)別過程。
圖7為一般地表示為在步驟602中執(zhí)行圓度測(cè)試所采取的步驟的流程圖??煞峙湟粋€(gè)閾值來比較圓度測(cè)試的結(jié)果,以區(qū)分閉合容器的形狀是圓/橢圓或是多邊形。在一個(gè)實(shí)施例中,諸如薄度比Pch2/Ach(其中,Pch和Ach分別代表形狀的凸包周長和面積)之類的特征用于測(cè)試圓度。在計(jì)算形狀的薄度比之前,可以依比例決定形狀筆劃,使最小邊界矩形成為一正方形。因?yàn)閳A可具有最小薄度比4*π,圓和橢圓都可具有最小薄度比4*π,其中π(pi)被定義成圓的周長與其直徑的比。在步驟702中,可以確定筆劃的最小邊界矩形,然后在步驟704中依比例決定形狀筆劃,使最小邊界矩形成為一正方形。接著可以在步驟706中用格雷厄姆算法(可以在1998年由劍橋大學(xué)出版社出版的Joseph O’Rourke寫的C中的計(jì)算幾何學(xué)(第二版)中找到)計(jì)算形狀的筆劃的凸包。然后可以在步驟708中計(jì)算薄度比Pch2/Ach??梢栽诓襟E710中將薄度比Pch2/Ach與閾值相比較。在一個(gè)實(shí)施例中,可以分配閾值4*π*1.05。如果在步驟712中薄度比Pch2/Ach小于等于閾值4*π*1.05,則該形狀可能是圓或橢圓,且在步驟714可將一分類器用于進(jìn)一步區(qū)分該閉合容器是圓還是橢圓。如果在步驟712中薄度比大于閾值4*π*1.05,則該形狀有可能是多邊形,且在步驟716中可將多邊形分類器用于進(jìn)一步區(qū)分該閉合容器可能是哪種類型的多邊形。本領(lǐng)域的技術(shù)人員能理解可以將其它閾值和其它特征用于測(cè)試圓度。
圖8為一般地表示根據(jù)所步驟714所示由分類器采取的用來區(qū)分閉合容器的形狀是圓還是橢圓的步驟的流程圖。一般來說,可以將諸如最小邊界矩形的寬高比之類的特征用于一個(gè)實(shí)施例,以區(qū)分圓和橢圓。在步驟802中,可以確定該形狀的最小邊界矩形的寬高比,然后可以在步驟804中根據(jù)給定的閾值確定該形狀是圓806或是橢圓808。在一個(gè)實(shí)施例中,如果寬高比接近1,例如在0.83和1.20的范圍內(nèi),可以將該形狀分類成圓形;否則分類成橢圓。本領(lǐng)域的技術(shù)人員能理解可以將其它閾值和其它特征用于區(qū)分圓和橢圓。
圖9為一般地表示由分類器采取的用來區(qū)分閉合容器的形狀是何種多邊形的步驟的流程圖??梢詫?duì)每個(gè)想要的n邊形的類型進(jìn)行多邊形形狀測(cè)試以確定該多邊形的形狀。在一個(gè)實(shí)施例中,可以對(duì)三角形、四邊形、五邊形和六邊形進(jìn)行多邊形測(cè)試。為了區(qū)分n邊形是哪種形狀對(duì)每個(gè)想要的n邊形的類型進(jìn)行多邊形測(cè)試的結(jié)果進(jìn)行比較,可以為多邊形測(cè)試分配一個(gè)或多個(gè)閾值。在一個(gè)實(shí)施例中,可以將諸如面積比An/Ach(An表示在凸包內(nèi)的最大內(nèi)接n邊形的面積,而Ach表示筆劃的一個(gè)凸包的面積)之類的特征用于確定多邊形的形狀。在此實(shí)施例中,可以用格雷厄姆算法(可以在1998年由劍橋大學(xué)出版社出版的Joseph O’Rourke寫的C中的計(jì)算幾何學(xué)(第二版),ISBN0-521-64976-5中找到)計(jì)算形狀的筆劃的凸包,并在步驟902中計(jì)算筆劃的凸包面積。然后可以在步驟904中為每個(gè)想要的n邊形類型計(jì)算最大內(nèi)接n邊形及其面積An。最大內(nèi)接n邊形可以用由Boyce提出的算法(可以在1985年的Finding Extremal Polygons,SIAM Journal onComputing,14(1)134-147中找到,作者J.E.Boyce和D.P.Dobkin)來計(jì)算。例如可以計(jì)算最大內(nèi)接三角形、四邊形、五邊形和六邊形及它們各自的面積A3、A4、A5和A6。在步驟906中,可以對(duì)每個(gè)想要的n邊形類型計(jì)算面積比An/Ach。在步驟908中可以將每個(gè)想要的n邊形類型的面積比An/Ach與相應(yīng)的閾值比較。最后在步驟910中可以將面積比An/Ach大于其相應(yīng)閾值的具有最少邊數(shù)的n邊形選擇成表示閉合容器形狀的多邊形類型。在一個(gè)實(shí)施例中,對(duì)A3、A4、A5和A6的閾值可以分別為0.73、0.84、0.93和0.94。圖10示出在圍繞形狀1002的凸包中具有最大內(nèi)接四邊形1004的形狀1002的筆劃的例子。在此例中,在和諸如五邊形或六邊形之類的其它n邊形的面積比相比時(shí),內(nèi)接四邊形和凸包的面積比可以比相應(yīng)的閾值大,并且具有最少的邊數(shù)。因此,將該形狀分類成四邊形。
因?yàn)閷⑼拱糜谟?jì)算面積比,在一個(gè)實(shí)施例中,可以對(duì)凹容器進(jìn)行測(cè)試以避免虛假的分類??梢酝ㄟ^核查筆劃中的點(diǎn)與識(shí)別的形狀的邊之間的最大距離來測(cè)試該凹容器。例如圖11示出手繪形狀1002的筆劃的點(diǎn)與識(shí)別的形狀的邊之間的最大距離1102和最大內(nèi)接四邊形1004。如果最大距離1102比經(jīng)驗(yàn)閾值大,則不得分類成四邊形。
因?yàn)橐呀?jīng)計(jì)算了最大面積內(nèi)接三角形或四邊形,我們能在一個(gè)實(shí)施例中在進(jìn)行形狀識(shí)別時(shí)根據(jù)特定類型形狀的基于規(guī)則的說明確定子分類。例如如果三角形的兩個(gè)邊的長度幾乎相等,則可以進(jìn)一步將其分類為等腰三角形;如果三角形的所有三個(gè)邊都幾乎相等,則可以進(jìn)一步將其分類為等邊三角形;如果兩邊的平方和近似等于第三邊的平方,則可以進(jìn)一步將其分類為直角三角形。
類似地,對(duì)于四邊形,如果所有四個(gè)邊的長度都幾乎相等,并且每對(duì)鄰邊幾乎正交,則可以進(jìn)一步將該形狀分類為正方形。如果所有四個(gè)邊的長度不都幾乎相等,并且每對(duì)鄰邊幾乎正交,則可以進(jìn)一步將該形狀分類為長方形。如果每對(duì)對(duì)邊幾乎平行,且任何兩個(gè)鄰邊都不幾乎相等,則可以進(jìn)一步將該形狀分類為平行四邊形。如果只有一對(duì)對(duì)邊幾乎平行,且任何兩個(gè)鄰邊都不幾乎正交,則可以進(jìn)一步將該形狀分類為梯形。
在將多邊形的形狀分類之后,為了更好地表示,可以在步驟912中將多邊形的邊提純。具體來說,可以計(jì)算輸入筆劃的每個(gè)點(diǎn)到識(shí)別的形狀的邊之間的距離以確定輸入筆劃的每個(gè)點(diǎn)屬于識(shí)別的多邊形的哪條邊。然后,可以根據(jù)輸入筆劃的相應(yīng)點(diǎn)的穩(wěn)健回歸結(jié)果重新計(jì)算識(shí)別的多邊形的每個(gè)邊的位置和方向。作為精細(xì)化,如圖12所示,精細(xì)化后的形狀1206可以更好地表示從手繪形狀1202的筆劃識(shí)別出的形狀1204的邊。
圖13為一般地表示為識(shí)別連接器的形狀而采取的步驟的流程圖。如圖14所示,用于識(shí)別連接器的形狀的輸入可包括筆劃及與已由圖表檢測(cè)器識(shí)別的容器的交點(diǎn)。這里所定義的交點(diǎn)指連接器的筆劃與容器距離最近的點(diǎn)。例如如圖14所示,在連接器1406兩端的交點(diǎn)1404處,都可將交點(diǎn)連接到容器1402和1412中的一個(gè)。一般來說,每個(gè)連接器可包括交點(diǎn)或箭頭與另一交點(diǎn)或箭頭之間的一條直線或曲線(這里定義為基干1408),并且每個(gè)連接器可包括在基干的任一端或兩端處的箭頭1410。
在繪制連接器時(shí),一些用戶可能會(huì)用重疊的筆劃來回運(yùn)動(dòng)繪制連接器的基干。另一些用戶可能會(huì)同樣地來回運(yùn)動(dòng)繪制連接器的箭頭。還有一些用戶可能會(huì)一筆繪出連接器的基干和箭頭。因?yàn)橛脩艨赡軙?huì)一筆繪出連接器的基干和箭頭,可以解析筆劃的不同部分并分開識(shí)別。因此,在圖13的步驟1302中,可以在高曲率的點(diǎn)(這里定義為頂角)拆分筆劃。通過將一個(gè)筆劃解析成一條折線,該筆劃的每個(gè)非結(jié)尾點(diǎn)可以形成兩條線段的交點(diǎn)。在一個(gè)實(shí)施例中,可以計(jì)算筆劃的每個(gè)非結(jié)尾點(diǎn)處兩條線段之間的角度,并且可以在相應(yīng)的角度小于諸如80度之類的閾值的點(diǎn)處斷開筆劃。為了避免在局部波動(dòng)處將筆劃斷成過多無意義的片段,可以首先通過應(yīng)用Sklansky的折線近似法(可以在1980年Sklansky J.和GonzalezV.寫的Fast Polygonal Approximation of Digitized Curves,PatternRecognition的卷12,第327-331頁中找到)使筆劃平滑,以簡化和平滑筆劃。
在步驟1304中,可以將筆劃或筆劃片段分類成基干筆劃或箭頭筆劃,以便分開識(shí)別連接器的基干筆劃和連接器的箭頭筆劃。
如果一個(gè)筆劃或筆劃片段的尺寸小于經(jīng)驗(yàn)閾值并且其到交點(diǎn)的距離很小,可以其認(rèn)作箭頭筆劃。在一個(gè)實(shí)施例中,這一經(jīng)驗(yàn)閾值可以是12.8毫米,而到交點(diǎn)的距離可以是小于8.5毫米。任何不認(rèn)作為箭頭筆劃的筆劃都可分類成基干筆劃。為了避免將短箭頭的所有筆劃錯(cuò)誤地分類成箭頭筆劃,可以將距離連接器的凸包最近的筆劃或筆劃片段識(shí)別成基干筆劃或筆劃片段。
在步驟1306中,可以合并基干筆劃或筆劃片段。可以在一個(gè)筆劃或片段與另一個(gè)筆劃或片段分開時(shí),一個(gè)筆劃或片段與另一個(gè)筆劃或片段重疊時(shí),或在一個(gè)筆劃或片段重迭描繪另一個(gè)筆劃或片段時(shí)合并基干筆劃或片段。這些一般的情況在圖15中示出。對(duì)其中每種情況,都可以通過制作可包含分開的筆劃或筆劃的片段的兩端,或可包含在合并時(shí)可形成重疊連續(xù)1504的重疊筆劃或筆劃的片段的重疊區(qū)域,或可包含可在合并時(shí)形成過度繪制連續(xù)1506的過度繪制的筆劃或片段的過度繪制區(qū)域的四邊形來定義可合并區(qū)域1508。為了合并基干筆劃或筆劃片段,可以為每對(duì)筆劃或筆劃片段定義一個(gè)連接分。在一個(gè)實(shí)施例中,對(duì)過度繪制和重疊連續(xù)的情況,可以將該連接分定義成S=w11dm+w2lml]]>和對(duì)連續(xù)的情況定義成S=w11dm,]]>其中l(wèi)為兩個(gè)筆劃或筆劃片段的總長度,w1、w2為重量,而dm、lm分別為定義的可合并區(qū)域的寬度和長度。一般來說,此連接分在兩個(gè)筆劃或筆劃片段靠近時(shí)較大,而在筆劃或筆劃片段遠(yuǎn)離時(shí)較小。對(duì)所有基干筆劃或基干筆劃的片段,都可以通過合并具有最高連接分的兩個(gè)基干筆劃或筆劃片段直至不再有可合并的筆劃對(duì)來進(jìn)行遞歸合并過程。
在步驟1308中,可以將每個(gè)合并的筆劃或筆劃片段標(biāo)準(zhǔn)化以減少局部波動(dòng)。在一個(gè)實(shí)施例中,可以用Sklansky的折線近似法(可以在1980年Sklansky J.和Gonzalez V.寫的Fast Polygonal Approximation of Digitized Curves,PatternRecognition的卷12,第327-331頁中找到)使每個(gè)合并的基干筆劃或筆劃片段標(biāo)準(zhǔn)化。當(dāng)最后一個(gè)合并的基干筆劃被標(biāo)準(zhǔn)化后,就可完全生成連接器的最終基干。
在步驟1310中,可以識(shí)別箭頭筆劃或筆劃的片段。在一個(gè)實(shí)施例中,可以對(duì)箭頭筆劃或筆劃片段的凸包進(jìn)行測(cè)試來看該形狀是否可能是三角形。將諸如面積比An/Ach(An表示在凸包內(nèi)的最大內(nèi)接n邊形的面積,而Ach表示筆劃的一個(gè)凸包的面積)之類的特征用于確定三角形的形狀。在此實(shí)施例中,可以用格雷厄姆算法(可以在1998年由劍橋大學(xué)出版社出版的Joseph O’Rourke寫的C中的計(jì)算幾何學(xué)(第二版),ISBN0-521-64976-5中找到)計(jì)算筆劃的凸包,并隨后計(jì)算筆劃的凸包面積Ach。最大內(nèi)接三角形可以用由Boyce提出的算法(可以在1985年的Finding Extremal Polygons,SIAM Journal on Computing,14(1)134-147中找到,作者J.E.Boyce和D.P.Dobkin)來計(jì)算,并計(jì)算出它的面積An。接著,計(jì)算面積比An/Ach并將其與相應(yīng)的閾值比較,例如在接近1的范圍內(nèi)以確定箭頭筆劃或筆劃片段的形狀可能是三角形。
在一個(gè)實(shí)施例中,可以通過核查筆劃中的點(diǎn)與識(shí)別的形狀的邊之間的最大距離來測(cè)試該凹容器,以避免虛假的分類。然后,為了更好地表示,可以將三角形的邊精細(xì)化。首先,可以計(jì)算輸入筆劃的每個(gè)點(diǎn)到識(shí)別的形狀的邊之間的距離以確定輸入筆劃的每個(gè)點(diǎn)屬于識(shí)別的多邊形的哪條邊。然后,可以根據(jù)輸入筆劃的相應(yīng)點(diǎn)的穩(wěn)健回歸結(jié)果重新計(jì)算識(shí)別的多邊形的每個(gè)邊的位置和方向??梢酝ㄟ^將最終的基干與任何識(shí)別的箭頭相結(jié)合來生成完整的連接器。
在用所述的系統(tǒng)和方法生成所有容器和連接器后,可以完全識(shí)別和生成以墨水輸入的手繪對(duì)象。通過使用本發(fā)明,用戶能不受手繪輸入限制而自由地繪制圖表和流程圖。一個(gè)形狀可以有許多筆劃,且輸入筆劃的次序可以是任意的,使得系統(tǒng)和方法可將任何墨水作為輸入接受。另外,筆劃可以是過度繪制或重疊的。在這兩種情況下,該系統(tǒng)和方法都可自動(dòng)地檢測(cè)到正確的形狀。
從以上的詳細(xì)說明中可見,本發(fā)明提供一種用于識(shí)別手繪對(duì)象的形狀的系統(tǒng)和方法。有利的是系統(tǒng)和方法對(duì)筆劃輸入次序和形成手繪形狀的筆劃數(shù)量不敏感。另外,本系統(tǒng)和方法提供了靈活性和可擴(kuò)展性。正如現(xiàn)在理解的,可將該系統(tǒng)和方法用于識(shí)別繪圖中任何閉合容器的和未閉合的連接器,包括圖示和圖表。一旦識(shí)別,就可以提供形狀的類型、位置、方向和大小。因此該方法和系統(tǒng)提供了當(dāng)代計(jì)算中所需的重要優(yōu)點(diǎn)和益處。
雖然本發(fā)明容許各種修改和備擇性結(jié)構(gòu),在附圖中示出和詳細(xì)描述了本發(fā)明的某些實(shí)施例。然而,應(yīng)理解并不想將本發(fā)明限定于所揭示的特定形式,相反,是想揭示所有落在本發(fā)明的精神和范圍之內(nèi)的修改及選擇性結(jié)構(gòu)。
權(quán)利要求
1.一種用于識(shí)別手繪形狀的計(jì)算機(jī)系統(tǒng),其特征在于,包括用于接收墨水輸入的形狀識(shí)別器;可操作地耦合至形狀識(shí)別器的,用于識(shí)別以墨水輸入的閉合容器的容器識(shí)別器;和可操作地耦合至形狀識(shí)別器的,用于識(shí)別以墨水輸入的連接器的連接器識(shí)別器。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括可操作地耦合至形狀識(shí)別器的,用于將墨水輸入發(fā)送至形狀識(shí)別器的墨水解析器。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,還包括一個(gè)可操作地耦合至墨水解析器的用于對(duì)繪圖筆劃進(jìn)行分組的圖表檢測(cè)器。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述圖表檢測(cè)器包括一個(gè)可操作地耦合至圖表檢測(cè)器的容器檢測(cè)器。
5.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述圖表檢測(cè)器包括一個(gè)與可操作地耦合至圖表檢測(cè)器的連接器檢測(cè)器。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述容器識(shí)別器包括一個(gè)可操作地耦合至容器識(shí)別器的橢圓/圓分類器。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述容器識(shí)別器包括一個(gè)可操作地耦合至容器識(shí)別器的多邊形分類器。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述容器識(shí)別器包括一個(gè)可操作地耦合至容器識(shí)別器的三角形分類器。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述容器識(shí)別器包括一個(gè)可操作地耦合至容器識(shí)別器的四邊形分類器。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述連接器包括一個(gè)可操作地耦合至連接器識(shí)別器的基干識(shí)別器。
11.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述連接器包括一個(gè)可操作地耦合至連接器識(shí)別器的箭頭識(shí)別器。
12.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述閉合容器包括一個(gè)圓。
13.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述閉合容器包括一個(gè)橢圓。
14.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述閉合容器包括一個(gè)三角形。
15.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述閉合容器包括一個(gè)四邊形。
16.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述連接器包括一個(gè)箭頭。
17.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述連接器包括一條直線。
18.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述連接器包括一條曲線。
19.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述容器包括文本。
20.一種具有包含權(quán)利要求1的系統(tǒng)的計(jì)算機(jī)可執(zhí)行部件的計(jì)算機(jī)可讀媒體。
21.一種用于識(shí)別手繪形狀的方法,其特征在于,包括接收墨水輸入;對(duì)以墨水輸入的每個(gè)容器進(jìn)行容器識(shí)別;和對(duì)以墨水輸入的每個(gè)連接器進(jìn)行連接器識(shí)別。
22.如權(quán)利要求21所述的方法,其特征在于,還包括解析墨水輸入以區(qū)分以墨水輸入的寫和畫。
23.如權(quán)利要求21所述的方法,其特征在于,還包括進(jìn)行圖表檢測(cè)以識(shí)別以墨水輸入的圖的筆劃。
24.如權(quán)利要求21所述的方法,其特征在于,還包括用以墨水輸入的各容器和各連接器生成繪圖。
25.如權(quán)利要求21所述的方法,其特征在于,所述進(jìn)行容器識(shí)別包括進(jìn)行圓度測(cè)試。
26.如權(quán)利要求21所述的方法,其特征在于,所述進(jìn)行容器識(shí)別包括進(jìn)行橢圓/圓的識(shí)別。
27.如權(quán)利要求21所述的方法,其特征在于,所述進(jìn)行容器識(shí)別包括進(jìn)行多邊形識(shí)別。
28.如權(quán)利要求21所述的方法,其特征在于,所述進(jìn)行容器識(shí)別包括進(jìn)行三角形識(shí)別。
29.如權(quán)利要求21所述的方法,其特征在于,所述進(jìn)行容器識(shí)別包括進(jìn)行四邊形識(shí)別。
30.如權(quán)利要求21所述的方法,其特征在于,所述進(jìn)行容器識(shí)別包括計(jì)算屬于一個(gè)容器的筆劃的凸包。
31.如權(quán)利要求21所述的方法,其特征在于,所述進(jìn)行容器識(shí)別包括計(jì)算薄度比Pch2/Ach,其中,Pch和Ach代表圍繞容器的筆劃的凸包的周長和面積。
32.如權(quán)利要求26所述的方法,其特征在于,所述進(jìn)行橢圓/圓識(shí)別包括確定圍繞容器的筆劃的最小邊界矩形。
33.如權(quán)利要求32所述的方法,其特征在于,還包括依比例決定筆劃,使最小邊界矩形成為正方形。
34.如權(quán)利要求27所述的方法,其特征在于,所述進(jìn)行多邊形識(shí)別包括確定圍繞容器的凸包中的最大內(nèi)接多邊形。
35.如權(quán)利要求27所述的方法,其特征在于,所述進(jìn)行多邊形識(shí)別包括計(jì)算面積比An/Ach,其中An表示在圍繞容器的筆劃的凸包內(nèi)的最大內(nèi)接n邊形的面積,而Ach表示圍繞容器的筆劃的凸包的面積。
36.如權(quán)利要求27所述的方法,其特征在于,所述進(jìn)行多邊形識(shí)別包括選擇具有最少邊數(shù)且面積比An/Ach大于閾值的n邊形。
37.如權(quán)利要求27所述的方法,其特征在于,所述進(jìn)行多邊形識(shí)別包括精細(xì)化識(shí)別的多邊形的邊。
38.如權(quán)利要求27所述的方法,其特征在于,所述進(jìn)行連接器識(shí)別包括在頂角處將連接器的筆劃分成片段。
39.如權(quán)利要求21所述的方法,其特征在于,所述進(jìn)行連接器識(shí)別包括從連接器的箭頭筆劃把連接器的基干筆劃分類。
40.一種具有用于執(zhí)行權(quán)利要求21的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒體。
全文摘要
本發(fā)明提供一種用于識(shí)別手繪對(duì)象的形狀的系統(tǒng)和方法。形狀識(shí)別器可以通過識(shí)別繪圖中閉合的容器和/或未閉合的連接器從以墨水輸入識(shí)別諸如的圖或表之類的繪圖。閉合的容器可表示可以被識(shí)別的包括圓形、橢圓形、三角形、四邊形五邊形、六邊形等等在內(nèi)的任何數(shù)量的形狀??梢詫⒄劬€用于近似用于處理基干的連續(xù)筆劃、重疊筆劃和過度繪制筆劃的連接器的基干。通過使用本發(fā)明,用戶可以不受手繪輸入限制而自由地繪制圖和流程圖。
文檔編號(hào)G06K9/46GK1607540SQ20041008266
公開日2005年4月20日 申請(qǐng)日期2004年9月24日 優(yōu)先權(quán)日2003年9月24日
發(fā)明者李彥濤, 林宙辰, 徐迅, 王堅(jiān) 申請(qǐng)人:微軟公司