專利名稱:手寫文字的重心確定方法及電子裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子設(shè)備領(lǐng)域,特別涉及一種手寫文字的重心確定方法及一種電子裝置。
背景技術(shù):
大多數(shù)平板電腦、掌上 電腦(PDA :PersoCal Digital AssistaCt)、移動(dòng)終端等電子設(shè)備除了具備常規(guī)的鍵盤輸入功能以外,還具有手寫輸入功能,手寫輸入的對(duì)象(或稱手寫文字)包括漢字、字母、數(shù)字、標(biāo)點(diǎn)、特殊符號(hào)等。有些電子設(shè)備能夠?qū)⑹謱懳淖种鹦信帕性陔娮友b置的屏幕上,并且按照原筆跡進(jìn)行顯示,然而這種排列和顯示方式需要考慮文字對(duì)齊問題,才能使顯示內(nèi)容看上去錯(cuò)落有致,美觀而整齊。文字通常具有“重心”的概念,如圖I所示,一行或一列手寫文字中,如果每個(gè)手寫文字的重心都落在同一直線上,則文字看起來才會(huì)比較整齊,這條直線可被稱為“基線”。為了將一行或者一列手寫文字按照“基線”整齊地排列和顯示,應(yīng)當(dāng)首先確定手寫文字的重心。
發(fā)明內(nèi)容
本申請(qǐng)要解決的主要技術(shù)問題是,提供一種手寫文字的重心確定方法及一種實(shí)現(xiàn)該手寫文字的重心確定方法的電子裝置,便于整齊、美觀地顯示手寫文字。根據(jù)本申請(qǐng)的第一方面,本申請(qǐng)?zhí)峁┮环N手寫文字的重心確定方法,包括以下步驟總點(diǎn)陣數(shù)獲取步驟獲取字單元的總點(diǎn)陣數(shù)T ;重心線確定步驟沿豎直方向逐行掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得所述字單元的水平重心線,并沿水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得所述字單元的豎直重心線;重心確定步驟取所述水平重心線與豎直重心線的交叉點(diǎn)或與所述交叉點(diǎn)具有一定距離的位置作為所述字單元的重心。一種實(shí)施例中,獲取字單元的總點(diǎn)陣數(shù)T的具體方法為在所述沿豎直方向逐行/水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù)時(shí),同時(shí)獲取字單元的總點(diǎn)陣數(shù)T。一種實(shí)施例中,獲得所述字單元的水平重心線的具體方法為當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于X時(shí),記錄該點(diǎn)陣所在的行所對(duì)應(yīng)的水平線為所述字單元的水平重心線,T/3 < X < 2T/3;獲得所述字單元的豎直重心線的具體方法為當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于Y時(shí),記錄該點(diǎn)陣所在的列所對(duì)應(yīng)的豎直線為所述字單元的豎直重心線,T/3 ^ Y ^ 2T/3。一種實(shí)施例中,獲得所述字單元的水平重心線的具體方法為當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)等于X或者接近X時(shí),記錄此行所對(duì)應(yīng)的水平線為所述字單元的水平重心線,T/3 < X < 2T/3 ;
豎直重心線確定步驟當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)等于Y或者接近Y時(shí),記錄此列所對(duì)應(yīng)的豎直線為所述字單元的豎直重心線,T/3 < Y < 2T/3。一種實(shí)施例中,當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)接近X具體指若某一行為第A行,掃描第A行前面的一行后,累積的點(diǎn)陣數(shù)小于X,緊接著掃描第A行后,累積的點(diǎn)陣數(shù)超過X,則掃描完第A行后,累積的點(diǎn)陣數(shù)接近X;當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)接近Y具體指若某一列為第B列,掃描第B列前面的一列后,累積的點(diǎn)陣數(shù)小于Y,緊接著掃描第B列后,累積的點(diǎn)陣數(shù)超過Y,則掃描完第B列后,累積的點(diǎn)陣數(shù)接近Y,其中A>1、B>1。一種實(shí)施例中,當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)接近X具體指若某一行為第C行,掃描第C行后,累積的點(diǎn)陣數(shù)小于X,緊接著掃描第C行后面的一行后,累積的點(diǎn)陣數(shù)超
過X,則掃描完第C行后,累積的點(diǎn)陣數(shù)接近X;當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)接近Y具體指若某一列為第D列,掃描第D列后,累積的點(diǎn)陣數(shù)小于Y,緊接著掃描第D列后面的一列后,累積的點(diǎn)陣數(shù)超過Y,則掃描完第D列后,所述累積的點(diǎn)陣數(shù)接近Y,其中C〉I、D>I。一種實(shí)施例中,所述總點(diǎn)陣數(shù)獲取步驟中,沿豎直方向或水平方向掃描字單元的點(diǎn)陣,獲取字單元的總點(diǎn)陣數(shù)T。一種實(shí)施例中,X等于T/2,Y等于T/2。一種實(shí)施例中,在所述總點(diǎn)陣數(shù)獲取步驟之前,還包括字單元拆分步驟當(dāng)接收到的手寫文字為詞組或一組字時(shí),將其拆分成多個(gè)單獨(dú)的字單元。根據(jù)本申請(qǐng)的第二方面,本申請(qǐng)?zhí)峁┝艘环N實(shí)現(xiàn)手寫文字的重心確定的電子裝置,包括總點(diǎn)陣數(shù)獲取單元用于獲取字單元的總點(diǎn)陣數(shù)T ;重心線確定單元用于沿豎直方向逐行掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),獲得所述字單元的水平重心線,并沿水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),獲得所述字單元的豎直重心線;重心確定單元用于取所述水平重心線與豎直重心線的交叉點(diǎn)或與所述交叉點(diǎn)具有一定距離的位置作為所述字單元的重心。一種實(shí)施例中,在所述重心線確定單元沿豎直方向逐行/水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù)時(shí),所述總點(diǎn)陣數(shù)獲取單元同時(shí)獲取字單元的總點(diǎn)陣數(shù)Τ。一種實(shí)施例中,所述重心線確定單元包括水平重心線確定模塊用于當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于X時(shí),記錄該點(diǎn)陣所在的行所對(duì)應(yīng)的水平線為所述字單元的水平重心線,Τ/3 < X < 2Τ/3;和豎直重心線確定模塊用于當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于Y時(shí),記錄該點(diǎn)陣所在的列所對(duì)應(yīng)的豎直線為所述字單元的豎直重心線,T/3 ^ Y ^ 2Τ/3。一種實(shí)施例中,所述重心線確定單元包括水平重心線確定模塊用于當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)等于或者接近X時(shí),記錄此行所對(duì)應(yīng)的水平線為所述字單元的水平重心線,T/3 ^ X ^ 2Τ/3 ;豎直重心線確定模塊用于當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)等于或者接近Y時(shí),記錄此列所對(duì)應(yīng)的豎直線為所述字單元的豎直重心線,Τ/3 < Y < 2Τ/3。
一種實(shí)施例中,還包括字單元拆分模塊在獲取字單元的總點(diǎn)陣數(shù)T之前,當(dāng)接收到的手寫文字為詞組或一組字時(shí),用于將其拆分成多個(gè)單獨(dú)的字單元。本申請(qǐng)的有益效果是本申請(qǐng)?zhí)峁┑氖謱懳淖值闹匦拇_定方法及實(shí)現(xiàn)手寫文字的重心確定方法的電子裝置對(duì)字單元的重心進(jìn)行確定后,便于手寫文字在編排和顯示過程中使字單元的重心落在同一基線上,使文字內(nèi)容的顯示更為整齊美觀。
圖I是手與輸入文字顯不的編排不意圖;圖2是本申請(qǐng)一種實(shí)施例的字單元的重心確定方法流程圖;圖3為本申請(qǐng)一種實(shí)施例確定的字單元的重心示意圖;圖4是本申請(qǐng)一種實(shí)施例的電子裝置結(jié)構(gòu)框圖。
具體實(shí)施例方式下面通過具體實(shí)施方式
結(jié)合附圖對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)說明。在本申請(qǐng)實(shí)施例中,手寫文字的重心確定方法應(yīng)用于具有手寫輸入功能和原筆跡顯示功能的電子裝置,這些電子裝置可以是平板電腦、PAD和移動(dòng)電話等。使用過程中每當(dāng)電子裝置接收到用戶輸入的手寫文字時(shí),首先按照本申請(qǐng)各實(shí)施例的方式確定手寫文字的重心,接著在編排和顯示過程中使各個(gè)字單元的重心落在同一基線上,使文字顯得更加整齊美觀。本申請(qǐng)所述的字單元,是根據(jù)用戶的書寫習(xí)慣及電子裝置的響應(yīng)設(shè)置來定義的。通常情況下,根據(jù)用戶的書寫習(xí)慣,用戶一般會(huì)一次性地寫一個(gè)標(biāo)點(diǎn)符號(hào)、一個(gè)漢字、一個(gè)數(shù)字、一個(gè)字母、一個(gè)特殊符號(hào)、一個(gè)詞語、一個(gè)短語、一句話、一段話等;對(duì)應(yīng)地,電子裝置在響應(yīng)時(shí),一般會(huì)將一個(gè)標(biāo)點(diǎn)符號(hào)、一個(gè)漢字、一個(gè)數(shù)字、一個(gè)字母、一個(gè)特殊符號(hào)、一個(gè)詞語、一個(gè)短語、一句話、一段話等作為一個(gè)整體進(jìn)行標(biāo)準(zhǔn)字識(shí)別及轉(zhuǎn)換、縮放排布等響應(yīng)。于是,本申請(qǐng)中所述的字單元,可以為一個(gè)標(biāo)點(diǎn)符號(hào)、一個(gè)漢字、一個(gè)數(shù)字、一個(gè)字母、一個(gè)特殊符號(hào)、一個(gè)詞語、一個(gè)短語、一句話、一段話等,甚至可以為一個(gè)筆劃、偏旁、一個(gè)字及一些筆劃的組合等。為了便于闡述說明,以下分別以字單元為一個(gè)字、一組字來進(jìn)行闡述。其中,一個(gè)字可以理解為一個(gè)標(biāo)點(diǎn)符號(hào)、一個(gè)漢字、一個(gè)數(shù)字、一個(gè)字母、一個(gè)特殊符號(hào)、一個(gè)筆劃或偏旁等;一組字即可理解為一個(gè)詞語、一個(gè)短語、一句話、一段話等,甚至可以為一個(gè)筆劃、偏旁、一個(gè)漢字及一些筆劃的組合。實(shí)施例一請(qǐng)參考圖2,本實(shí)施例的手寫文字的重心確定方法包括以下步驟步驟SlOO :總點(diǎn)陣數(shù)獲取步驟沿豎直方向、水平方向或其他方向掃描字單元的點(diǎn)陣,獲取字單元的總點(diǎn)陣數(shù)T,例如T=100。步驟SlOl :沿豎直方向逐行掃描字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得字單元的水平重心線。步驟S102 :沿水平方向逐列掃描字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得字單元的豎直重心線。
以上兩個(gè)步驟請(qǐng)參考圖3,例如T=100,可通過豎直方向和水平方向的點(diǎn)陣掃描和點(diǎn)陣數(shù)累計(jì),得到字單元“中”的水平重心線20和豎直重心線30。根據(jù)具體需要,沿豎直方向逐行掃描字單元的點(diǎn)陣時(shí),可選擇從上往下掃描,也可選擇從下往上掃描,沿水平方向逐列掃描字單元的點(diǎn)陣時(shí),可選擇從左往右掃描,也可選擇從右往左掃描。以上步驟SlOl和S102中,既可先執(zhí)行步驟SlOl通過豎直方向的掃描確定水平重心線,再執(zhí)行步驟S102通過水平方向的掃描確定豎直重心線,也可先執(zhí)行步驟S102通過水平方向的掃描確定豎直重心線,再執(zhí)行步驟SlOl通過豎直方向的掃描確定水平重心線。步驟S103 :重心確定步驟取水平重心線與豎直重心線的交叉點(diǎn)作為字單元的重心,當(dāng)然還可選擇與該交叉點(diǎn)具有預(yù)定距離的位 置作為字單元的重心,根據(jù)具體需要,該位置與交叉點(diǎn)之間的距離不能過大。如圖3中,水平重心線20與豎直重心線30的交叉點(diǎn)即為字單元“中”的重心10。在其它的實(shí)施例中,獲取字單元的總點(diǎn)陣數(shù)T還可以直接在步驟SlOl或者步驟S102中獲取,具體地,獲取字單元的總點(diǎn)陣數(shù)T的具體方法是在沿豎直方向逐行/水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù)時(shí),同時(shí)獲取字單元的總點(diǎn)陣數(shù)T。實(shí)施例二以上步驟SlOl和S102中,分別根據(jù)累計(jì)的點(diǎn)陣數(shù)獲得字單元的水平重心線和豎直重心線的方式具有多種,例如可在沿豎直方向掃描到某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于一特定值時(shí),記錄該點(diǎn)陣所在的行所對(duì)應(yīng)的水平線為字單元的水平重心線,以及在沿水平方向掃描到某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于一特定值時(shí),記錄該點(diǎn)陣所在的列所對(duì)應(yīng)的豎直線為字單元的豎直重心線;或者還可在沿豎直方向掃描完某一行后,累積的點(diǎn)陣數(shù)等于或者接近一特定值時(shí),記錄該行所對(duì)應(yīng)的水平線為字單元的水平重心線,以及在沿水平方向掃描完某一列后,累積的點(diǎn)陣數(shù)等于或者接近一特定值時(shí),記錄該列所對(duì)應(yīng)的豎直線為字單元的豎直重心線,當(dāng)然還可靈活選用其他方式。本實(shí)施例中,獲得字單元的水平重心線的具體方法為當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于X時(shí),記錄該點(diǎn)陣所在的行所對(duì)應(yīng)的水平線為字單元的水平重心線。獲得字單元的豎直重心線的具體方法為當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于Y時(shí),記錄該點(diǎn)陣所在的列所對(duì)應(yīng)的豎直線為字單元的豎直重心線,其中,T/3 < X < 2T/3, T/3 ^ Y ^ 2T/3,優(yōu)選地,X和Y都等于T/2。請(qǐng)參考圖3,例如T=100,X和Y都為T的一半時(shí),掃描到字單元“中”第46行的某一點(diǎn)陣時(shí)累積的點(diǎn)陣數(shù)正好等于T的一半即50,則可直接確定該點(diǎn)陣所在的第46行對(duì)應(yīng)的水平線為字單元“中”的水平重心線20 ;掃描到字單元“中”第30列的某一點(diǎn)陣時(shí)累積的點(diǎn)陣數(shù)正好等于T的一半即50,則可直接確定該點(diǎn)陣所在的第30列對(duì)應(yīng)的豎直線為字單元“中”的豎直重心線30?;蛘吡硪粚?shí)施例中,X和Y都為T的3/5時(shí),掃描到字單元“中”第47行的某一點(diǎn)陣時(shí)累積的點(diǎn)陣數(shù)正好等于T的3/5即60,則可直接確定該點(diǎn)陣所在的第46行對(duì)應(yīng)的水平線為字單元“中”的水平重心線20 ;掃描到字單元“中”第31列的某一點(diǎn)陣時(shí)累積的點(diǎn)陣數(shù)正好等于T的3/5即60,則可直接確定該點(diǎn)陣所在的第31列對(duì)應(yīng)的豎直線為字單元“中”的豎直重心線30。實(shí)施例三本實(shí)施例中,獲得字單元的水平重心線的具體方法為當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)等于X或者接近X時(shí),記錄此行所對(duì)應(yīng)的水平線為字單元的水平重心線。獲得字單元的豎直重心線的具體方法為當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)等于Y或者接近Y時(shí),記錄此列所對(duì)應(yīng)的豎直線為字單元的豎直重心線,其中,T/3彡X彡2T/3,T/3彡Y彡2T/3,優(yōu)選地,X和Y都等于T/2。請(qǐng)參考圖3,例如T=100,X和Y都為T的一半時(shí),掃描完字單元“中”的第46行后,累積的點(diǎn)陣數(shù)正好等于T的一半即50,則可直接確定第46行對(duì)應(yīng)水平線為字單元“中”的水平重心線20 ;掃描完字單元“中”的第30列后,累積的點(diǎn)陣數(shù)正好等于T的一半即50,則可直接確定第30列對(duì)應(yīng)豎直線為字單元“中”的豎直重心線30。然而大多數(shù)情況下,并不會(huì)出現(xiàn)掃描完某一行或某一列后累積的點(diǎn)陣數(shù)正好等于X或Y的情況。例如本實(shí)施例中,如果掃描完某一行后,累積的點(diǎn)陣數(shù)雖然略大于X或者略小于X,但相對(duì)于掃描完其他行后累積的點(diǎn)陣數(shù),掃描完該行后累積的點(diǎn)陣數(shù)與X之差的差值或者絕對(duì)值最小,則本申請(qǐng)就將這種情況下累積的點(diǎn)陣數(shù)統(tǒng)稱為接近X,并將這一行對(duì)應(yīng)
的水平線為字單元的水平重心線。如圖3中,掃描完字單元“中”的某一行后,累積的點(diǎn)陣數(shù)為52,相對(duì)于掃描完其他行后累積的點(diǎn)陣數(shù),52與50的差值最小,則可直接確定剛剛掃描過的這一行對(duì)應(yīng)的水平線為字單元“中”的水平重心線20。類似于水平重心線20的確定方式,如果掃描完某一列后,累積的點(diǎn)陣數(shù)雖然略大于Y或者略小于Y,但相對(duì)于掃描完其他列后累積的點(diǎn)陣數(shù),掃描完該列后累積的點(diǎn)陣數(shù)與Y之差的差值或者絕對(duì)值最小,則本申請(qǐng)就將這種情況下累積的點(diǎn)陣數(shù)統(tǒng)稱為接近Y,并將這一列對(duì)應(yīng)的水平線為字單元的豎直重心線。如圖3中,掃描完字單元“中”的某一列后,累積的點(diǎn)陣數(shù)為47,相對(duì)于掃描完其他列后累積的點(diǎn)陣數(shù),47與50的差值最小,則可直接確定剛剛掃描過的這一列對(duì)應(yīng)的豎直線為字單元“中”的豎直重心線30。實(shí)施例四本實(shí)施例中,判斷掃描完某一行后累積的點(diǎn)陣數(shù)接近X的一種方法為如果某一行為第A行,掃描第A行前面的一行后,累積的點(diǎn)陣數(shù)小于X,緊接著掃描完第A行后,累積的點(diǎn)陣數(shù)超過X,則認(rèn)為掃描完第A行后累積的點(diǎn)陣數(shù)接近X。判斷掃描完某一列后累積的點(diǎn)陣數(shù)接近Y的具體方法為如果某一列為第B列,掃描第B列前面的一列后,累積的點(diǎn)陣數(shù)小于Y,緊接著掃描完第B列后,累積的點(diǎn)陣數(shù)超過Y,則認(rèn)為掃描完第B列后累積的點(diǎn)陣數(shù)接近Y。例如圖3中,Τ=100,Χ為T的一半,如果第A行為第46行,沿豎直方向掃描完第45行后,累積的點(diǎn)陣數(shù)為47,即小于50,緊接著掃描完第46行后,累積的點(diǎn)陣數(shù)為52,即超過50,則認(rèn)為掃描完第46行后累積的點(diǎn)陣數(shù)接近50,取第46行對(duì)應(yīng)的水平線為字單元“中”的水平重心線20。另外,如果第B列為第30列,沿水平方向掃描完第29列后,累積的點(diǎn)陣數(shù)為49,即小于50,緊接著掃描完第30列后,累積的點(diǎn)陣數(shù)為53,即超過50,則認(rèn)為掃描完后第30列后累積的點(diǎn)陣數(shù)接近50,取第30列對(duì)應(yīng)的豎直線為字單元“中”的豎直重心線30。實(shí)施例五本實(shí)施例與實(shí)施例四不同的是,判斷掃描完某一行后累積的點(diǎn)陣數(shù)接近X的另一種方法為如果某一行為第C行,掃描第C行后,累積的點(diǎn)陣數(shù)小于X,緊接著掃描完第C行后面的一行后,累積的點(diǎn)陣數(shù)超過X,則認(rèn)為掃描完第C行后累積的點(diǎn)陣數(shù)接近X。判斷掃描完某一列后累積的點(diǎn)陣數(shù)接近Y的具體方法為如果某一列為第D列,掃描第D列后,累積的點(diǎn)陣數(shù)小于Y,緊接著掃描完第D列后面的一列后,累積的點(diǎn)陣數(shù)超過Y,則認(rèn)為掃描完第D列后累積的點(diǎn)陣數(shù)接近Y。例如圖3中,T=100,如果第C行為第46行,沿豎直方向掃描完第46行后,累積的點(diǎn)陣數(shù)為47,即小于50,緊接著掃描完第47后,累積的點(diǎn)陣數(shù)為52,即超過50,則認(rèn)為掃描完第15行后累積的點(diǎn)陣數(shù)接近50,取第46行對(duì)應(yīng)的水平線為字單元“中”的水平重心線20。另外,如果第D列為第9列,沿水平方向掃描完第30列后,累積的點(diǎn)陣數(shù)為49,即小于50,緊接著掃描完第31列后,累積的點(diǎn)陣數(shù)為53,即超過50,則認(rèn)為掃描完后第30列后累積的點(diǎn)陣數(shù)接近T的一半,取第30列對(duì)應(yīng)的豎直線為字單元“中”的豎直重心線30。實(shí)施例六以上實(shí)施例一至實(shí)施例五中,在總點(diǎn)陣數(shù)獲取步驟之前,還可包括字單元拆分步驟如果接收到的手寫文字為詞組或一組字時(shí),將其拆分成多個(gè)單獨(dú)的字單元,再分別確定各字單元的重心。當(dāng)然,也可根據(jù)具體需要,直接將輸入的詞組或者一組字作為一個(gè)字單元,直接確定該字單元的重心。實(shí)施例七上述實(shí)施例的方法的全部或部分步驟可以通過程序來指令相關(guān)硬件完成,通過與硬件的匹配,本例形成一種電子裝置,該電子裝置具有手寫輸入功能和原筆跡顯示功能,應(yīng)用上述實(shí)施例的各種方法,實(shí)現(xiàn)對(duì)手寫輸入的字單元在顯示屏上的顯示。這種裝置可以是平板電腦、PAD和移動(dòng)電話等。如圖4所示,該電子裝置主要包括總點(diǎn)陣數(shù)獲取單元40:用于獲取字單元的總點(diǎn)陣數(shù)T,例如可通過沿豎直方向、水平方向或其他方向掃描字單元的點(diǎn)陣,獲取字單元的總點(diǎn)陣數(shù)T。重心線確定單元50 :用于沿豎直方向逐行掃描字單元的點(diǎn)陣并累積點(diǎn)陣數(shù),獲得字單元的水平重心線,并沿豎直方向逐行掃描字單元的點(diǎn)陣并累積點(diǎn)陣數(shù),獲得字單元的豎直重心線。一種實(shí)現(xiàn)實(shí)施例二中方法的電子裝置,重心線確定單元50進(jìn)一步包括水平重心線確定模塊51和豎直重心線確定模塊52 :水平重心線確定模塊51用于當(dāng)掃描到某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于X時(shí),記錄該點(diǎn)陣所在的行所對(duì)應(yīng)的水平線為字單元的水平重心線;豎直重心線確定模塊52用于當(dāng)掃描到某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于Y時(shí),記錄該點(diǎn)陣所在的列所對(duì)應(yīng)的豎直線為字單元的豎直重心線,其中,T/32T/3, T/3 ^ Y ^ 2T/3。重心確定單元303 :用于取水平重心線與豎直重心線的交叉點(diǎn)、或與交叉點(diǎn)具有一定距離的位置作為字單元的重心。本實(shí)施例中,還可進(jìn)一步包括字單元拆分模塊,獲取字單元的總點(diǎn)陣數(shù)T之前,當(dāng)接收到的手寫文字為詞組或一組字時(shí),用于將其拆分成多個(gè)單獨(dú)的字單元,再依次通過總點(diǎn)陣數(shù)獲取單元301、水平重心線確定單元302、豎直重心線確定單元303和重心確定單元304確定字單元的重心。在其它的實(shí)施例中,總點(diǎn)陣數(shù)獲取單元40還用于在重心線確定單元50沿豎直方向逐行/水平方向逐列掃描字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù)時(shí),同時(shí)獲取字單元的總點(diǎn)陣數(shù)T。實(shí)施例八
本實(shí)施例與實(shí)施例七不同的是,一種實(shí)現(xiàn)實(shí)施例三至五中方法的電子裝置中,圖4中重心線確定單元50中的水平重心線確定模塊51用于當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)等于或者接近X時(shí),記錄此行所對(duì)應(yīng)的水平線為字單元的水平重心線,豎直重心線確定模塊52用于當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)等于或者接近Y時(shí),記錄此列所對(duì)應(yīng)的豎直線為字單元的豎直重心線,T/3 < X < 2T/3,T/3 ^ Y ^ 2T/3。實(shí)現(xiàn)上述實(shí)施例四中方法的電子裝置中,水平重心線確定單元51還包括第一判斷模塊,若某一行為第A行,則用于當(dāng)掃描第A行前面的一行后,累積的點(diǎn)陣數(shù)小于X,且緊接著掃描第A行后,累積的點(diǎn)陣數(shù)超過X時(shí),判斷掃描完第A行后,累積的點(diǎn)陣數(shù)接近X ;豎直重心線確定單元52還包括第二判斷模塊,若某 一列為第B列,則用于當(dāng)掃描第B列前面的一列后,累積的點(diǎn)陣數(shù)小于Y,且緊接著掃描第B列后,累積的點(diǎn)陣數(shù)超過Y時(shí),判斷掃描完第B列后,累積的點(diǎn)陣數(shù)接近Y,其中A>1、B>1。實(shí)現(xiàn)上述實(shí)施例五中方法的電子裝置中,若某一行為第C行,第一判斷模塊則用于當(dāng)掃描第C行后,累積的點(diǎn)陣數(shù)小于X,且緊接著掃描第C行后面的一行后,累積的點(diǎn)陣數(shù)超過X時(shí),判斷掃描完第C行后,累積的點(diǎn)陣數(shù)接近X。若某一列為第D列,第二判斷模塊則用于當(dāng)掃描第D列后,累積的點(diǎn)陣數(shù)小于Y,且緊接著掃描第D列后面的一列后,累積的點(diǎn)陣數(shù)超過Y時(shí),判斷掃描完第D列后,累積的點(diǎn)陣數(shù)接近Y半,其中C〉I、D>I。實(shí)施例九本例是一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)可以包括只讀存儲(chǔ)器、隨機(jī)存儲(chǔ)器、磁盤或光盤等。該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)有程序,該程序通過被相關(guān)硬件加載運(yùn)行,可實(shí)現(xiàn)上述實(shí)施例中各種方法的全部或部分步驟。以上內(nèi)容是結(jié)合具體的實(shí)施方式對(duì)本申請(qǐng)所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本申請(qǐng)的具體實(shí)施只局限于這些說明。對(duì)于本申請(qǐng)所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請(qǐng)構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本申請(qǐng)的保護(hù)范圍。
權(quán)利要求
1.ー種手寫文字的重心確定方法,其特征在于,包括以下步驟 總點(diǎn)陣數(shù)獲取步驟獲取字単元的總點(diǎn)陣數(shù)T ; 重心線確定步驟沿豎直方向逐行掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得所述字單元的水平重心線,并沿水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得所述字單元的豎直重心線; 重心確定步驟取所述水平重心線與豎直重心線的交叉點(diǎn)或與所述交叉點(diǎn)具有一定距離的位置作為所述字單元的重心。
2.如權(quán)利要求I所述的方法,其特征在于,獲取字単元的總點(diǎn)陣數(shù)T的具體方法為在所述沿豎直方向逐行/水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù)時(shí),同時(shí)獲取字單元的總點(diǎn)陣數(shù)T。
3.如權(quán)利要求I或2所述的方法,其特征在于,獲得所述字單元的水平重心線的具體方法為當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于X時(shí),記錄該點(diǎn)陣所在的行所對(duì)應(yīng)的水平線為所述字單元的水平重心線,T/3 < X < 2T/3; 獲得所述字單元的豎直重心線的具體方法為當(dāng)某一點(diǎn)陣時(shí)累積的點(diǎn)陣數(shù)等于Y吋,記錄該點(diǎn)陣所在的列所對(duì)應(yīng)的豎直線為所述字単元的豎直重心線,T/3 ^ Y ^ 2T/3。
4.如權(quán)利要求I或2所述的方法,其特征在于,獲得所述字單元的水平重心線的具體方法為當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)等于X或者接近X吋,記錄此行所對(duì)應(yīng)的水平線為所述字單元的水平重心線,T/3 < X < 2T/3 ; 豎直重心線確定步驟當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)等于Y或者接近Y吋,記錄此列所對(duì)應(yīng)的豎直線為所述字単元的豎直重心線,T/3 < Y < 2T/3。
5.如權(quán)利要求4所述的方法,其特征在干,當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)接近X具體指若某一行為第A行,掃描第A行前面的一行后,累積的點(diǎn)陣數(shù)小于X,緊接著掃描第A行后,累積的點(diǎn)陣數(shù)超過X,則掃描完第A行后,累積的點(diǎn)陣數(shù)接近X; 當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)接近Y具體指若某一列為第B列,掃描第B列前面的一列后,累積的點(diǎn)陣數(shù)小于Y,緊接著掃描第B列后,累積的點(diǎn)陣數(shù)超過Y,則掃描完第B列后,累積的點(diǎn)陣數(shù)接近Y,其中A>1、B>1。
6.如權(quán)利要求4所述的方法,其特征在干,當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)接近X具體指若某一行為第C行,掃描第C行后,累積的點(diǎn)陣數(shù)小于X,緊接著掃描第C行后面的一行后,累積的點(diǎn)陣數(shù)超過X,則掃描完第C行后,累積的點(diǎn)陣數(shù)接近X; 當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)接近Y具體指若某一列為第D列,掃描第D列后,累積的點(diǎn)陣數(shù)小于Y,緊接著掃描第D列后面的一列后,累積的點(diǎn)陣數(shù)超過Y,則掃描完第D列后,所述累積的點(diǎn)陣數(shù)接近Y,其中C>1、D>1。
7.如權(quán)利要求3所述的方法,其特征在干,X等于T/2,Y等于T/2。
8.如權(quán)利要求I所述的方法,其特征在于,在所述總點(diǎn)陣數(shù)獲取步驟之前,還包括字單元拆分步驟當(dāng)接收到的手寫文字為詞組或一組字時(shí),將其拆分成多個(gè)單獨(dú)的字単元。
9.一種實(shí)現(xiàn)手寫文字的重心確定的電子裝置,其特征在于,包括 總點(diǎn)陣數(shù)獲取單元用于獲取字単元的總點(diǎn)陣數(shù)T ; 重心線確定単元用于沿豎直方向逐行掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得所述字單元的水平重心線,以及沿水平方向逐列掃描所述字單元的點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得所述字單元的豎直重心線; 重心確定單元用于取所述水平重心線與豎直重心線的交叉點(diǎn)或與所述交叉點(diǎn)具有一定距離的位置作為所述字単元的重心。
10.如權(quán)利要求9所述的電子裝置,其特征在于,在所述重心線確定単元沿豎直方向逐行/水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù)時(shí),所述總點(diǎn)陣數(shù)獲取単元同時(shí)獲取字單元的總點(diǎn)陣數(shù)T。
11.如權(quán)利要求9或10所述的電子裝置,其特征在于,所述重心線確定単元包括 水平重心線確定模塊用于當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于X時(shí),記錄該點(diǎn)陣所在的行所對(duì)應(yīng)的水平線為所述字單元的水平重心線,T/3 < X < 2T/3; 豎直重心線確定模塊用于當(dāng)某一點(diǎn)陣時(shí)累計(jì)的點(diǎn)陣數(shù)等于Y時(shí),記錄該點(diǎn)陣所在的列所對(duì)應(yīng)的豎直線為所述字単元的豎直重心線,T/3 ^ Y ^ 2T/3。
12.如權(quán)利要求9或10所述的電子裝置,其特征在于,所述重心線確定単元包括 水平重心線確定模塊用于當(dāng)掃描完某一行后,累積的點(diǎn)陣數(shù)等于或者接近X時(shí),記錄此行所對(duì)應(yīng)的水平線為所述字單元的水平重心線,T/3 ^ X ^ 2T/3 ; 和豎直重心線確定模塊用于當(dāng)掃描完某一列后,累積的點(diǎn)陣數(shù)等于或者接近Y吋,記錄此列所對(duì)應(yīng)的豎直線為所述字単元的豎直重心線,T/3 < Y < 2T/3。
13.如權(quán)利要求9所述的電子裝置,其特征在于,還包括字單元拆分模塊在獲取字單元的總點(diǎn)陣數(shù)T之前,當(dāng)接收到的手寫文字為詞組或一組字時(shí),用于將其拆分成多個(gè)單獨(dú)的字單元。
全文摘要
本申請(qǐng)公開了一種手寫文字的重心確定方法及一種電子裝置,方法包括以下步驟獲取字單元的總點(diǎn)陣數(shù)T;重心線確定步驟沿豎直方向逐行掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得所述字單元的水平重心線,并沿水平方向逐列掃描所述字單元的每一點(diǎn)陣并累積點(diǎn)陣數(shù),以獲得所述字單元的豎直重心線;重心確定步驟取所述水平重心線與豎直重心線的交叉點(diǎn)或與所述交叉點(diǎn)具有一定距離的位置作為所述字單元的重心。通過本申請(qǐng)對(duì)字單元的重心進(jìn)行確定后,便于手寫文字在編排和顯示過程中使各個(gè)字單元的重心落在同一基線上,使文字內(nèi)容的顯示更為整齊美觀。
文檔編號(hào)G06K9/68GK102855502SQ20121030103
公開日2013年1月2日 申請(qǐng)日期2012年8月22日 優(yōu)先權(quán)日2012年8月22日
發(fā)明者賀照云, 韓澍青, 周佳, 杜國(guó)楹 申請(qǐng)人:北京壹人壹本信息科技有限公司