專利名稱:手繪幾何圖形的識(shí)別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于識(shí)別手繪圖形的識(shí)別方法。
背景技術(shù):
手繪幾何圖形的識(shí)別技術(shù),在一些草圖系統(tǒng)中能起到很好的輔助作用,該技 術(shù)是以鼠標(biāo)或者其他輸入工具,利用計(jì)算機(jī)進(jìn)行繪圖,并對(duì)一些粗糙的幾何圖 形進(jìn)行識(shí)別重畫出標(biāo)準(zhǔn)的幾何圖形來。
目前常用的手^^幾何圖形識(shí)別方法主要有以下幾類
1、 統(tǒng)計(jì)方法,基于圓錐曲線方法的線性最下平方匹配法,能實(shí)時(shí)分類手繪 筆畫、識(shí)別直線、橢圓弧和圓角;
2、 模糊推理方法,用模糊邏輯和模糊知識(shí),從草圖的位置、方向、速度和 加速度捕獲繪圖者的意圖,實(shí)現(xiàn)草圖識(shí)別;
3、 幾何方法,把手繪草圖作為整體進(jìn)行識(shí)別,需要進(jìn)行平滑處理,提取圓 弧,識(shí)別節(jié)點(diǎn),分解出直線段等步驟;
4、 神經(jīng)網(wǎng)絡(luò)方法,通過提取圖素幾何形狀的內(nèi)角特征,用二進(jìn)制突觸的權(quán) 重算法BSW進(jìn)行識(shí)別。
上述用于識(shí)別的方法都需要建立大量的數(shù)據(jù)庫,進(jìn)行分析識(shí)別的步驟比較繁 瑣,在識(shí)別簡單的封閉幾何圖形時(shí),尤其是草圖繪制中,多數(shù)情況下只需要識(shí) 別比較筒單的封閉幾何圖形,但也要預(yù)先設(shè)置較大的數(shù)據(jù)庫,占有資源,利用 效率不高。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種可以快速識(shí)別簡單封閉幾何圖形的手繪幾何圖形 的識(shí)別方法。
本發(fā)明的技術(shù)解決方案是 一種手繪幾何圖形的識(shí)別方法,它包括以下步
驟
a、書寫開始時(shí),沿手繪幾何圖形走向順序保存采樣曲線的點(diǎn)序列,并從 該點(diǎn)序列中選擇來樣點(diǎn)保存,采樣點(diǎn)包括起點(diǎn)和終點(diǎn);
b、書寫結(jié)束時(shí),從采樣點(diǎn)中選擇采樣曲線轉(zhuǎn)折處的采樣點(diǎn)作為特征點(diǎn)保
存,所述特征點(diǎn)包括起點(diǎn)和終點(diǎn);
c、逐步從起點(diǎn)至終點(diǎn)分析保存的特征點(diǎn),判斷是否可構(gòu)成由所有特征點(diǎn)為 頂點(diǎn)的幾何圖形,如是,則連接所有特征點(diǎn),輸出對(duì)應(yīng)的幾何圖形,若否,則 輸出保存的采樣曲線。
各種圖形的基本元素就是點(diǎn),線由點(diǎn)組成,各種圖形可以看成是由不同的 線組成,用鼠標(biāo)等輸入設(shè)備手繪圖形書寫時(shí),保存手繪圖形的點(diǎn)序列,可以在 無法識(shí)別時(shí)輸出原始圖形,取出采樣點(diǎn)以便減少計(jì)算量,通過分析特征點(diǎn)識(shí)別 簡單幾何圖形,可以減少數(shù)據(jù)庫容量,加快識(shí)別過程,系統(tǒng)資源占用少,利用 率提高。
步驟b中,分析在相鄰兩個(gè)特征點(diǎn)之間的各采樣點(diǎn)中距兩個(gè)相鄰特征點(diǎn)間 連線的距離,取距離最遠(yuǎn)的采樣點(diǎn)作為特征點(diǎn),順序獲取全部特征點(diǎn)。通過特 征點(diǎn)來判斷識(shí)別圖形,可以減少運(yùn)算量,快速識(shí)別簡單幾何圖形,有利于提高 識(shí)別速率。
步驟b中,具有設(shè)定值,分析采樣點(diǎn)距兩個(gè)相鄰特征點(diǎn)間連線的距離大于 設(shè)定值的作為特征點(diǎn)保存。避免將全部采樣點(diǎn)取出,進(jìn)一步提高識(shí)別速度。
步驟c中,特征點(diǎn)為兩個(gè),輸出直線;特征點(diǎn)為三個(gè),輸出角;特征點(diǎn)為 四個(gè),且起點(diǎn)和終點(diǎn)重合,輸出三角形;特征點(diǎn)為五個(gè),且起點(diǎn)和終點(diǎn)重合, 輸出四邊形,分析四邊形的兩對(duì)對(duì)邊的斜率,以及對(duì)邊與水平軸的夾角,當(dāng)斜 率接近且與水平軸夾角接近90度和G度的,輸出矩形,當(dāng)斜率接近的,輸出菱 形;特征點(diǎn)超過五個(gè),分析連接全部特征點(diǎn)的多邊形的內(nèi)角和,當(dāng)該內(nèi)角和與 相應(yīng)邊數(shù)的突多邊形內(nèi)角和接近時(shí),輸出橢圓形。
本發(fā)明的優(yōu)點(diǎn)是無需事先建立數(shù)據(jù)庫,節(jié)省系統(tǒng)資源,識(shí)別迅速,利用 率提高。
附圖1為本發(fā)明識(shí)別方法的流程示意附圖2為本發(fā)明識(shí)別方法中特征點(diǎn)的分析示意附圖3為手繪直線圖形;
附圖4為識(shí)別后的直線圖形;
附圖5為手繪角圖形; 附圖6為識(shí)別后的角圖形; 附圖7為手繪三角圖形; 附圖8為識(shí)別后的三角圖形; 附圖9為手繪的四邊形; 附圖10為識(shí)別后的矩形; 附圖11為手繪的四邊形; 附圖12為識(shí)別后的菱形; 附圖13為手繪的橢圓; 附圖14識(shí)別后的橢圓。
具體實(shí)施方式
實(shí)施例
參閱圖1: 一種手繪幾何圖形的識(shí)別方法,整個(gè)過程可以分成三個(gè)步驟(1 )、 得到圖形中要參加分析的采樣點(diǎn);(2)、根據(jù)采樣點(diǎn)分析特征點(diǎn);(3)、根據(jù)特 征點(diǎn)進(jìn)4f識(shí)別。
下面具體對(duì)每個(gè)步驟進(jìn)行分析
(1)、當(dāng)鼠標(biāo)按下后抬起時(shí),將采樣曲線的點(diǎn)序列保存到數(shù)據(jù)庫中的 m—poi nt、 m_pointsVec模塊中。這是因?yàn)楫?dāng)手繪圖形并不能識(shí)別成一個(gè)幾何圖 形時(shí),我們就要恢復(fù)原始手繪圖,所以我們把所有點(diǎn)都保存起來了 。 m一pointsVec 模塊中保存的是每隔一段距離取的點(diǎn),間隔的距離值可以根據(jù)精度需要來自行 設(shè)定,其中在能識(shí)別為封閉幾何圖形時(shí),起點(diǎn)和終點(diǎn)距離很近,這樣就把終點(diǎn) 的值直接設(shè)置成了起點(diǎn)的值,這樣操作起來就更方便、更人性化。
(2)、在鼠標(biāo)彈起時(shí)就開始進(jìn)行特征點(diǎn)的選取,其分析原理參見圖2所 示的采樣曲線,將第一個(gè)和最后一個(gè)采樣點(diǎn)連成的直線段用ab標(biāo)記,計(jì)算出曲 線中的點(diǎn)離直線ab最遠(yuǎn)的采樣點(diǎn)即為此曲線的一個(gè)折點(diǎn),也即特征點(diǎn),用c來 標(biāo)記,這樣就得到了 2個(gè)新的直線段ac和cb,在通過計(jì)算對(duì)應(yīng)采樣曲線上的采 樣點(diǎn)到這兩天直線段的距離來得到新的采樣點(diǎn),重復(fù)上述方法,就能把所有的 特征點(diǎn)找出來。需要注意的是,取出的特征點(diǎn)應(yīng)該在分別在一個(gè)范圍內(nèi),否則 到最后就把采樣曲線上所有釆樣點(diǎn)取出來了,沒有任何意義,本發(fā)明中給出一
個(gè)"i殳定值,當(dāng)采樣曲線上的采樣點(diǎn)到直線^段的距離大于該i殳定^f直時(shí),才作為特 征點(diǎn)取出,否則就不處理該采樣點(diǎn)。本實(shí)施例中,這個(gè)設(shè)定值可以是整個(gè)曲線 段的高或者寬的某一比例值,設(shè)定為比例值也是為了適應(yīng)不同大小的手繪圖形 的識(shí)別需要。
具體分析過程中使用如下的遞歸函數(shù)計(jì)算,由于取出的特征點(diǎn)的順序?qū)τ谧R(shí)
別非常重要,故需要考慮特征點(diǎn)的順序問題,所以函數(shù)需要這樣描述 Cross (int left, int right)
Cross (left, tmp);
m一pointCross. push—back(maxPoint); Cross(tmp, right);
其中參數(shù)left, right均為pointsVec中采樣點(diǎn)的索引,corss的具體計(jì)算描 述如下
首先檢查pointsVec [I eft], pointsVec[r ight]之間是否還有采樣點(diǎn),如果 之間沒有采樣點(diǎn),就沒有找特征點(diǎn)的必要,返回;否則就計(jì)算出之間的采樣點(diǎn) 中距po i ntsVec [ I eft] , po i ntsVec [r i ght]連成的線段距離最大并且滿足距離大 于設(shè)定值的采樣點(diǎn),記下該采樣點(diǎn)點(diǎn)的索引,用變量tmp保存。然后計(jì)算 Cross (left, tmp), 保存該點(diǎn) m—pointGross. push—back (maxPoint), 向量 m_poi ntGross保存的就是得到的特征點(diǎn)。再計(jì)算Gross (tmp, r i ght)。這個(gè)順序 就保證了特征點(diǎn)是按順序存儲(chǔ)的。
在本步驟中,對(duì)特征點(diǎn)的計(jì)算就是計(jì)算出該點(diǎn)到直線^L的距離,然后和一個(gè) 設(shè)定值比較,大于就留下,否則就繼續(xù)。這個(gè)設(shè)定值直接影響到識(shí)別的程度, 因?yàn)樘囟ㄖ翟叫√卣鼽c(diǎn)取的越多,很多應(yīng)該忽略的特征點(diǎn)就保存了,這樣很多 應(yīng)該識(shí)別的圖形就無法識(shí)別,取出的特征點(diǎn)太少也就會(huì)在圖形的區(qū)分上出現(xiàn)問 題。例如將平行四邊形識(shí)別成橢圓等。
(3)、對(duì)圖形的識(shí)別。沖艮據(jù)特定幾何圖形的頂點(diǎn)數(shù)來確定。如圖3、 4所示, 手繪圖形有2個(gè)特征點(diǎn),識(shí)別為直線。如圖5和6所示,手繪圖形3個(gè)特征點(diǎn), 識(shí)別為角。如圖7和8所示,手繪圖形有4個(gè)特征點(diǎn),但起點(diǎn)和終點(diǎn)重合,就
識(shí)別為三角形。手繪圖形中有5個(gè)特征點(diǎn)時(shí)就是四邊形,如圖9和圖10所示, 起點(diǎn)和終點(diǎn)接近,視為重合,根據(jù)4點(diǎn)得到四邊形的4邊,計(jì)算兩對(duì)對(duì)邊的斜 率大小是否差不多,同樣需要將斜率值大小控制在一定范圍內(nèi),如果兩對(duì)對(duì)邊 斜率差不多,而且兩對(duì)邊分別與水平軸的夾角都接近90度和0度,就識(shí)別為矩 形,重新設(shè)置4個(gè)頂點(diǎn)使重繪后為一個(gè)矩形。如圖11和圖12所示,如果只是 兩對(duì)對(duì)邊斜率差不多,就識(shí)別為菱形,重新計(jì)算設(shè)置4點(diǎn)值重繪菱形。如圖13 和圖14所示,對(duì)與大于5個(gè)特征點(diǎn)的手繪圖形只考慮是否識(shí)別為橢圓,這里用 的識(shí)別方法是把這些頂點(diǎn)順序組成一個(gè)多邊形,通過計(jì)算該多邊形的內(nèi)角和, 判斷由特征點(diǎn)連接成的多邊形是否為突多邊形。通常在一個(gè)橢圓上循序取出幾 點(diǎn),順序連接后必然是個(gè)突多邊形,因此,利用此原理來識(shí)別手繪圖形是否為 橢圓。根據(jù)突多邊形的內(nèi)角和為(n-2) *180 ( n為邊數(shù))進(jìn)行比較多邊形的內(nèi)角 和,反推該多邊形是否為突多邊形。
權(quán)利要求
1、一種手繪幾何圖形的識(shí)別方法,其特征在于它包括以下步驟a、書寫開始時(shí),沿手繪幾何圖形走向順序保存采樣曲線的點(diǎn)序列,并從該點(diǎn)序列中選擇采樣點(diǎn)保存,采樣點(diǎn)包括起點(diǎn)和終點(diǎn);b、書寫結(jié)束時(shí),從采樣點(diǎn)中選擇采樣曲線轉(zhuǎn)折處的采樣點(diǎn)作為特征點(diǎn)保存,所述特征點(diǎn)包括起點(diǎn)和終點(diǎn);c、逐步從起點(diǎn)至終點(diǎn)分析保存的特征點(diǎn),判斷是否可構(gòu)成由所有特征點(diǎn)為頂點(diǎn)的幾何圖形,如是,則連接所有特征點(diǎn),輸出對(duì)應(yīng)的幾何圖形,若否,則輸出保存的采樣曲線。
2、 根據(jù)權(quán)利要求1所述的手繪幾何圖形的識(shí)別方法,其特征在于步驟b中, 分析在相鄰兩個(gè)特征點(diǎn)之間的各采樣點(diǎn)中距兩個(gè)相鄰特征點(diǎn)間連線的距 離,取距離最遠(yuǎn)的采樣點(diǎn)作為特征點(diǎn),順序獲取全部特征點(diǎn)。
3、 根據(jù)權(quán)利要求2所述的手繪幾何圖形的識(shí)別方法,其特征在于步驟b中, 具有設(shè)定值,分析采樣點(diǎn)距兩個(gè)相鄰特征點(diǎn)間連線的距離大于設(shè)定值的作 為特征點(diǎn)保存。
4、 根據(jù)權(quán)利要求1、 2或3所述的手繪幾何圖形的識(shí)別方法,其特征在于 步驟c中,特征點(diǎn)為兩個(gè),輸出直線。
5、 根據(jù)權(quán)利要求l、 2或3所述的手繪幾何圖形的識(shí)別方法,其特征在于 步驟c中,特征點(diǎn)為三個(gè),輸出角。
6、 根據(jù)權(quán)利要求l、 2或3所述的手繪幾何圖形的識(shí)別方法,其特征在于 步驟c中,特征點(diǎn)為四個(gè),且起點(diǎn)和終點(diǎn)重合,輸出三角形。
7、 根據(jù)權(quán)利要求l、 2或3所述的手繪幾何圖形的識(shí)別方法,其特征在于 步驟c中,特4正點(diǎn)為五個(gè),且起點(diǎn)和終點(diǎn)重合,輸出四邊形。
8 、 根據(jù)權(quán)利要求7所述的手繪幾何圖形的識(shí)別方法,其特征在于步驟c中, 分析四邊形的兩對(duì)對(duì)邊的斜率,以及對(duì)邊與水平軸的夾角,當(dāng)斜率接近且 與水平軸夾角接近90度和0度的,輸出矩形,當(dāng)斜率接近的,輸出菱形。
9、 根據(jù)權(quán)利要求1、 2或3所述的手繪幾何圖形的識(shí)別方法,其特征在于 步驟c中,特征點(diǎn)超過五個(gè),分析連接全部特征點(diǎn)的多邊形內(nèi)角和,當(dāng)該 內(nèi)角和與相應(yīng)邊數(shù)的突多邊形內(nèi)角和接近時(shí),輸出橢圓形。
全文摘要
本發(fā)明公開了一種手繪幾何圖形的識(shí)別方法,它包括以下步驟a.書寫開始時(shí),沿手繪幾何圖形走向順序保存采樣曲線的點(diǎn)序列,并從該點(diǎn)序列中選擇采樣點(diǎn)保存,采樣點(diǎn)包括起點(diǎn)和終點(diǎn);b.書寫結(jié)束時(shí),從采樣點(diǎn)中選擇采樣曲線轉(zhuǎn)折處的采樣點(diǎn)作為特征點(diǎn)保存,所述特征點(diǎn)包括起點(diǎn)和終點(diǎn);c.逐步從起點(diǎn)至終點(diǎn)分析保存的特征點(diǎn),判斷是否可構(gòu)成由所有特征點(diǎn)為頂點(diǎn)的幾何圖形,如是,則連接所有特征點(diǎn),輸出對(duì)應(yīng)的幾何圖形,若否,則輸出保存的采樣曲線。本發(fā)明的優(yōu)點(diǎn)是無需事先建立數(shù)據(jù)庫,節(jié)省系統(tǒng)資源,識(shí)別迅速,利用率提高。
文檔編號(hào)G06T11/80GK101393648SQ20081019899
公開日2009年3月25日 申請(qǐng)日期2008年10月7日 優(yōu)先權(quán)日2008年10月7日
發(fā)明者楊阿奇, 陳先志 申請(qǐng)人:廣東威創(chuàng)視訊科技股份有限公司