專利名稱:文字行提取方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于光學(xué)字符識別領(lǐng)域,特別涉及一種文字行提取方法和裝置。
背景技術(shù):
電子掃描筆(簡稱掃描筆)是OCR的重要應(yīng)用之一。掃描筆的技術(shù)原理為首先,光 學(xué)攝像頭按照一定頻率對被掃描資料進行連續(xù)拍照,獲取被掃資料的圖像序列,然后將圖 像序列拼接成一幅全景二值圖像,最后在得到的全景圖像中提取待識別文字行并進行OCR 識別。文字行提取有多種方法,大體分為自頂向下、自底向上以及自頂向下自底向上兩 者相結(jié)合三種,但這些方法多是針對印刷體文檔或者手寫文本的,對于掃描筆獲取的全景 二值圖像處理效果不好。這是因為掃描筆獲取的全景二值圖像具有其自身的不同于印刷體 文檔及手寫文本的特點(1)圖像內(nèi)的文字行很少,圖像內(nèi)的字符存在不完整的情況,故得 到的圖像不利于信息統(tǒng)計,使部分自底向上的方法失效;(2)圖像的文字行形狀多變,有可 能是傾斜的,甚至是彎曲的,使部分自頂向下的方法失效。為此,需要一種專門針對掃描筆 獲取的全景二值圖像的文字行提取方法。
發(fā)明內(nèi)容
本發(fā)明所要解決的問題為提供一種文字行提取方法和裝置,利用全景二值圖像的 特點去除圖像中的不完整字符,有效減小了不完整字符對合并的干擾,然后采用一種自底 向上和自頂向下相結(jié)合的方法實現(xiàn)文字行提取。本方法公開了一種文字行提取方法,包括如下步驟
步驟一對全景二值圖像中的各連通域進行統(tǒng)計,得到字符寬度和字符高度,根據(jù)字符 寬度和字符高度對各連通域進行合并,得到第一尺度塊;
步驟二 將得到的第一尺度塊進行排序,得到各第一尺度塊間的參考水平間距,根據(jù)參 考水平間距將各第一尺度塊進行合并得到第二尺度塊;
步驟三將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平間距,根 據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊;
步驟四將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù)目的第 一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。所述步驟一之前還包括
步驟a:標(biāo)記全景二值圖像中的連通域,統(tǒng)計各連通域的高度得到全景二值圖像中的 平均字符高;
步驟b 去除全景二值圖像邊緣處高度小于平均字符高既定比例的連通域。
所述步驟一中對全景二值圖像中的各連通域進行統(tǒng)計時,按各連通域的寬度值統(tǒng) 計對應(yīng)的連通域個數(shù),按寬度值從大到小的順序?qū)⑵鋵?yīng)的連通域個數(shù)加和,取加和大于 等于連通域總數(shù)的五分之一時對應(yīng)的寬度值作為字符寬度。所述步驟一中對全景二值圖像中的各連通域進行統(tǒng)計時,按各連通域的高度值統(tǒng) 計對應(yīng)的連通域個數(shù),按高度值從大到小的順序?qū)⑵鋵?yīng)的連通域個數(shù)加和,取加和值大 于等于連通域總數(shù)的五分之一時對應(yīng)的高度值作為字符高度。所述步驟一之后還包括去除小于字符高度二分之一的第一尺度塊。所述步驟二的參考水平間距為兩相鄰的第一尺度塊間的水平間距的中值。所述步驟二中將各第一尺度塊進行合并得到第二尺度塊時,依次遍歷各第一尺度 塊,將未經(jīng)合并的當(dāng)前第一尺度塊作為第二尺度塊,并將滿足既定條件的未經(jīng)合并的第一 尺度塊合并到所述第二尺度塊。所述既定條件為第二尺度塊與相鄰的第一尺度塊在豎直方向有交疊,且交疊高度 大于等于兩者中高度較小者的三分之一,且第二尺度塊與相鄰的第一尺度塊的水平間距小 于等于2倍參考水平間距且大于等于負(fù)的字符寬度的三分之一。所述步驟三的第二參考水平間距為兩相鄰的第二尺度塊間的小于2倍字符寬度 的水平間距的中值。所述步驟三中將各第二尺度塊進行合并得到第三尺度塊時,依次遍歷各第二尺度 塊,將未經(jīng)合并的當(dāng)前第二尺度塊作為第三尺度塊,并將滿足第二既定條件的未經(jīng)合并的 第二尺度塊合并到所述第三尺度塊。所述第二既定條件為第三尺度塊與相鄰的第二尺度塊在豎直方向有既定高度的 交疊;且第三尺度塊與相鄰的第二尺度塊的水平間距大于零、小于等于2倍第二參考水平 間距。所述步驟三還包括對得到的第三尺度塊進行驗證,如果與當(dāng)前第二尺度塊相鄰 的、與合并方向相反的第二尺度塊和當(dāng)前第二尺度塊在豎直方向有高度大于既定高度的交 疊,且兩相鄰的第二尺度塊的水平間距不大于2倍水平間距,則當(dāng)前第二尺度塊不能合并 至第三尺度塊中,當(dāng)前第三尺度塊結(jié)束合并。所述步驟四中的延長線分別由位于第三尺度塊中最左側(cè)既定數(shù)目的第一尺度塊 和最右側(cè)的既定數(shù)目的第一尺度塊生成,通過提取各第一尺度塊的中心點坐標(biāo)用最小二乘 法擬合得到。所述步驟四中的既定數(shù)目為三個及三個以上。所述步驟四中將第三尺度塊根據(jù)延長線合并為文字行包括依次遍歷含有既定數(shù) 目的第一尺度塊的各第三尺度塊,將未經(jīng)合并的當(dāng)前第三尺度塊作為文字行,把滿足第三 既定條件的未經(jīng)合并的第三尺度塊合并到所述文字行。所述第三既定條件為文字行的延長線穿過當(dāng)前第三尺度塊中與文字行距離最近 的第一尺度塊,且當(dāng)前第三尺度塊與文字行的水平間距小于4倍字符寬度。所述步驟四之后還包括將小于字符高度二分之一的第一尺度塊添加至文字行。所述小于字符高度二分之一的第一尺度塊添加至文字行時,將文字行中連接相鄰 的第一尺度塊的中心點的線段分別向上和向下平移二分之一的字符高度,所得線段之間的 區(qū)域作為有效區(qū)域,在有效區(qū)域內(nèi)的第一尺度塊添加至文字行。
本發(fā)明還公開了一種文字行提取裝置,包括如下模塊
統(tǒng)計模塊對全景二值圖像中的各連通域進行統(tǒng)計,得到字符寬度和字符高度,根據(jù)字 符寬度和字符高度對各連通域進行合并,得到第一尺度塊;
第一合并模塊將得到的第一尺度塊進行排序,得到各第一尺度塊間的參考水平間距, 根據(jù)參考水平間距將各第一尺度塊進行合并得到第二尺度塊;
第二合并模塊將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平 間距,根據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊;
第三合并模塊將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù) 目的第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。本發(fā)明文字行提取方法和裝置,充分利用了全景二值圖像的特點,分別對應(yīng)字符、 單詞和詞段的概念進行多尺度合并,再以得到的文字行為基礎(chǔ)自頂向下將被排除的尺度塊 添加回文字行中,以得到完整的文字行。本方法減少了不完整字符對文字行提取的干擾,保 證了得到的文字行的有效性和準(zhǔn)確性;采用自底向上和自頂向下相結(jié)合的方法處理文字行 傾斜或彎曲的情況,保證了得到的文字行的完整性。
圖1為本發(fā)明文字行提取方法的一個實施例的流程圖。圖2為本發(fā)明文字行提取方法中的步驟105的一個實施例流程圖。圖3為本發(fā)明實施例之一的全景二值圖像。圖4為本發(fā)明實施例之一的步驟101的連通域標(biāo)記結(jié)果示意圖。圖5為本發(fā)明實施例之一的全景二值圖像的上下邊緣示意圖。圖6為本發(fā)明實施例之一的步驟103的去掉貼邊的小連通域后的剩余連通域的示 意圖。圖7為本發(fā)明實施例之一的步驟104的合并連通域得到的第一尺度塊的示意圖。圖8為本發(fā)明實施例之一的步驟105的去掉較小第一尺度塊后的剩余第一尺度塊 的示意圖。圖9為本發(fā)明實施例之一的步驟106的合并第一尺度塊得到的第二尺度塊的示意 圖。圖10為本發(fā)明實施例之一的步驟107的合并第二尺度塊得到的第三尺度塊的示意圖。圖11為本發(fā)明實施例之一的步驟107中的一種合并終止情況的示意圖。圖12為本發(fā)明實施例之一的步驟107中的一種合并終止情況的示意圖。圖13為本發(fā)明實施例之一的步驟108的合并第三尺度塊得到的文字行的示意圖。圖14為本發(fā)明實施例之一的步驟109的將去掉的第一尺度塊添加到文字行后的 文字行示意圖。圖15為本發(fā)明實施例之二的全景二值圖像。圖16為本發(fā)明實施例之二的步驟101的連通域標(biāo)記結(jié)果示意圖。圖17為本發(fā)明實施例之二的全景二值圖像的上下邊緣示意圖。
圖18為本發(fā)明實施例之二的步驟103的去掉貼邊的小連通域后的剩余連通域的
示意圖。圖19為本發(fā)明實施例之二的步驟104的合并連通域得到的第一尺度塊的示意圖。圖20為本發(fā)明實施例之二的步驟105的去掉較小第一尺度塊后的剩余第一尺度 塊的示意圖。圖21為本發(fā)明實施例之二的步驟106的合并第一尺度塊得到的第二尺度塊的示 意圖。圖22為本發(fā)明實施例之二的步驟107的合并第二尺度塊得到的第三尺度塊的示 意圖。圖23為本發(fā)明實施例之二的步驟108的合并第三尺度塊得到的文字行的示意圖。圖M為本發(fā)明實施例之二的步驟109的將去掉的第一尺度塊添加到文字行后的 文字行示意圖。
具體實施例方式為了能更清楚地理解本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合附圖對本發(fā)明作進一步詳細的 描述。同時,以下文中所對照的附圖,意在表達與本發(fā)明特征有關(guān)的結(jié)構(gòu)的含義。本發(fā)明公開了文字行提取方法和裝置,針對掃描筆獲取的全景二值圖像的特點, 有效提取其中的文字行,本發(fā)明采用自底向上和自頂向下相結(jié)合的方法對全景二值圖像進 行處理。在自底向上的合并過程中,根據(jù)不同的合并規(guī)則采用四級尺度進行合并,尺度的 劃分來自于對文字行幾何結(jié)構(gòu)的組成特征的觀察,在全景二值圖像中得到的連通域只是對 字符的分立筆畫的描述,既是要把這些連通域合并為“字符”,由于只是通過幾何關(guān)系進行 合并,合并的結(jié)果不一定對應(yīng)一個完整的字符,比如還有可能將兩個字符的部分筆畫合并 在一起等情況,所以得到的結(jié)果稱為第一尺度塊,可以簡單的說,第一尺度塊的概念對應(yīng)于 “字符”,由“字符”組成“單詞”。依次論推,第二尺度塊的概念對應(yīng)于“單詞”,由“單詞”組 成“詞段”;第三尺度塊的概念對應(yīng)于“詞段”,由“詞段”組成文字行。當(dāng)然這種劃分并不十 分嚴(yán)格,比如“單詞”和“詞段”在某些情況下可能界線并不分明,但是這并不影響這種劃分 的一般意義。本發(fā)明依次將連通域合并為第一尺度塊、第一尺度塊合并為第二尺度塊、第二 尺度塊合并為第三尺度塊、第三尺度塊合并為文字行。由于全景二值圖像中包含不完整字符,這些不完整字符多為較小的第一尺度塊, 如果不預(yù)先排除的話,會干擾后續(xù)的合并,但是,這種排除也有可能將較小的完整字符所對 應(yīng)的第一尺度塊去掉,所以在通過自底向上方法得到文字行后,再以得到的文字行為指導(dǎo), 自頂向下的將被排除的第一尺度塊再添加回文字行中,以得到完整的文字行。在本發(fā)明中,所述坐標(biāo)系是指笛卡爾坐標(biāo)系,以圖像的左上點為坐標(biāo)原點。本發(fā)明公開了一種文字行提取方法,提供掃描筆獲取的如圖3所示的中文全景二 值圖像為例,圖1所示為實施例的流程圖,具體處理步驟如下
步驟0 對全景二值圖像進行預(yù)處理。A)標(biāo)記全景二值圖像中的連通域,統(tǒng)計各連通域的高度得到全景二值圖像中的平均字符高。如圖4所示,標(biāo)記全景二值圖像中的8連通域,計算各連通域的高度并從小到大 排序,從最大高度值開始,依次累加各個高度值對應(yīng)的連通域的個數(shù),當(dāng)累加個數(shù)大于等于 連通域總個數(shù)的十分之一時停止累加,取此時的高度值為平均字符高。本實施例中,平均字 符高為70。B)去除全景二值圖像邊緣處高度小于平均字符高既定比例的連通域。由于掃描筆在獲取圖像時,有明確的目的性,即待識別文字行中的字符會盡量掃 描完整且盡量位于圖像的中間部分,這就意味著待識別文字行中的字符一般不會貼邊,貼 邊的概念如下全景二值圖像由圖像幀序列拼接而成,在拼接過程中,可以準(zhǔn)確獲取每幀圖 像在全景二值圖像中的位置,這樣就可以獲取全景二值圖像中由幀圖像數(shù)據(jù)構(gòu)成的部分的 區(qū)域,這個區(qū)域的上邊緣線稱為全景二值圖像的上邊緣線,這個區(qū)域的下邊緣線稱為全景 二值圖像的下邊緣線,如果某個連通域的像素位于上邊緣線或下邊緣線上,則稱之為貼邊 類型的連通域。貼邊類型的連通域一般為不完整字符,如果字符過于不完整,則該字符無法 識別,故需要去除這些不完整的字符以避免對后續(xù)的合并和識別過程產(chǎn)生干擾。在本實施 例中,全景二值圖像的上下邊緣線如圖5中的灰線所示,去除高度小于字符高度的二分之 一(即35)的貼邊類型的連通域后剩余的連通域如圖6所示。步驟1 對全景二值圖像中的各連通域進行統(tǒng)計,得到字符寬度和字符高度,根據(jù) 字符寬度和字符高度對各連通域進行合并,得到第一尺度塊。統(tǒng)計字符寬度和字符高度,去掉較小的貼邊連通域后,統(tǒng)計得到的結(jié)果更加接近 于真實值。計算各連通域的寬度并從小到大排序,從最大寬度值開始,依次累加各個寬度值 對應(yīng)的連通域的個數(shù),按寬度值從大到小的順序?qū)⑵鋵?yīng)的連通域個數(shù)加和,取加和大于 等于連通域總數(shù)的五分之一時對應(yīng)的寬度值作為字符寬度。同理,計算各連通域的高度并 從小到大排序,從最大高度值開始,依次累加各個高度值對應(yīng)的連通域的個數(shù),按高度值從 大到小的順序?qū)⑵鋵?yīng)的連通域個數(shù)加和,取加和值大于等于連通域總數(shù)的五分之一時對 應(yīng)的高度值作為字符高度。本實施例中,此步驟得到的字符寬度為74,字符高度為73。根據(jù)字符寬度和字符高度對各連通域進行合并,合并各連通域得到第一尺度塊。 第一尺度塊的概念對應(yīng)于“字符”,第一尺度塊由符合一定條件的相包含或相交或相鄰的連 通域構(gòu)成,具體流程如圖2所示,包括如下處理過程
合并相包含的連通域。對于各連通域中一個連通域包含另一個連通域的情況,如果較 大的連通域的寬度小于等于字符寬度的1.5倍,S卩111,并且較大的連通域的高度小于等于 字符高度的1. 5倍,即110,則將兩相包含的連通域進行合并。對于被合并的兩個連通域不 再繼續(xù)合并,并使合并得到的連通域繼續(xù)參與合并,直至各連通域中所有相包含的連通域 合并結(jié)束。合并相交的連通域。對于相交的兩個連通域,如果合并后的連通域的寬度小于等 于字符寬度的1. 5倍,即111,并且如果合并后的連通域的高度小于等于字符高度的1. 5倍, 即110,則將兩相交的連通域進行合并。對于被合并的兩個連通域不再繼續(xù)合并,并使合并 得到的連通域繼續(xù)參與合并,直至各連通域中所有相交的連通域合并結(jié)束。合并左右相鄰且豎直方向有交疊的連通域。對于左右相鄰且豎直方向有交疊的兩 個連通域,如果合并后的連通域的寬度小于等于字符寬度的四分之五,即92,并且高度小于 等于字符高度的五分之六,即87,則將兩左右相鄰且豎直方向有交疊的連通域進行合并。對于被合并的兩個連通域不再繼續(xù)合并,并使合并得到的連通域繼續(xù)參與合并,直至各連通 域中所有左右相鄰且豎直方向有交疊的連通域合并結(jié)束。合并上下相鄰且水平方向有交疊的連通域。對于上下相鄰且水平方向有交疊的兩 個連通域,如果合并后的連通域的寬度小于等于字符寬度的四分之五,即92,并且高度小于 等于字符高度的五分之六,即87,則將兩上下相鄰且水平方向有交疊的連通域進行合并。對 于被合并的兩個連通域不再繼續(xù)合并,并使合并得到的連通域繼續(xù)參與合并,直至各連通 域中所有上下相鄰且水平方向有交疊的連通域合并結(jié)束。經(jīng)過上述步驟的合并后,將未發(fā)生合并的連通域及合并所得的連通域作為第一尺 度塊。本實施例中,得到的第一尺度塊如圖7中的灰色方框所示。步驟12 去除小于字符高度二分之一的第一尺度塊。由于較小的第一尺度塊會干擾后面的合并,所以要先去除這些高度小于字符高度 的二分之一,即36,的第一尺度塊。剩余的第一尺度塊如圖8中的灰色方框所示。步驟2 將得到的第一尺度塊進行排序,得到各第一尺度塊間的參考水平間距,根 據(jù)參考水平間距將各第一尺度塊進行合并得到第二尺度塊。將各第一尺度塊進行合并得到第二尺度塊時,依次遍歷各第一尺度塊,將未經(jīng)合 并的當(dāng)前第一尺度塊作為第二尺度塊,并將滿足既定條件的未經(jīng)合并的第一尺度塊合并到 所述第二尺度塊。第二尺度塊的概念對應(yīng)于“單詞”,由一個或多個滿足一定條件的第一尺 度塊組成,構(gòu)成第二尺度塊的每個第一尺度塊作為第二尺度塊的子塊。將所有的第一尺度 塊按照從左到右的順序進行排序,計算第一尺度塊間的水平間距后進行合并。本實施例中,從左至右將第一尺度塊進行合并。計算第一尺度塊間的參考水平間 距的具體方法為從第一個第一尺度塊開始,遍歷所有的第一尺度塊,對于當(dāng)前第一尺度 塊,找出位于其右側(cè)與其在豎直方向有交疊且水平方向距離最近的第一尺度塊,用其左坐 標(biāo)值減去當(dāng)前第一尺度塊的右坐標(biāo)值的長度作為水平間距,取所有這些水平間距值的中值 作為第一尺度塊間的參考水平間距。本實施例中,所得的第一尺度塊的參考水平間距為4。將各第一尺度塊合并以得到第二尺度塊的具體方法是從第一個第一尺度塊開 始,依次遍歷所有的第一尺度塊,如果當(dāng)前第一尺度塊已經(jīng)屬于某個第二尺度塊,則跳過該 第一尺度塊,否則創(chuàng)建一個新的第二尺度塊并將當(dāng)前第一尺度塊合并至該第二尺度塊中。 對于一個新建的第二尺度塊,以第一個子塊為當(dāng)前子塊,搜索能夠合并到該第二尺度塊的 第一尺度塊,能夠合并到該第二尺度塊的各第一尺度塊需滿足如下既定條件
1)尚未合并到任何第二尺度塊;
2)位于當(dāng)前子塊右側(cè);
3)與相鄰的第二尺度塊的水平間距小于等于2倍的參考水平間距,即8,并且大于等于 負(fù)的字符寬度的三分之一,即;
4)與當(dāng)前子塊在豎直方向有交疊,且交疊高度大于等于兩者中高度較小者的三分之
ο如果不存在滿足條件1)、2)、3)、4)的第一尺度塊,則該第二尺度塊結(jié)束合并;如 果滿足條件1)、2)、3)、4)的第一尺度塊只有一個,則將這一個合并,合并后將新加入的第 一尺度塊作為當(dāng)前子塊繼續(xù)進行搜索合并;如果滿足條件1)、2)、3)、4)的第一尺度塊有多 個,則只取豎直方向交疊最大的一個合并,合并后的第一尺度塊作為當(dāng)前子塊繼續(xù)進行搜索合并。本實施例中,得到的第二尺度塊如圖9所示,其中單個灰色方框或者用線段連接在 一起的灰色方框表示一個第二尺度塊,灰色方框表示構(gòu)成第二尺度塊的第一尺度塊。步驟3 將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平間 距,根據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊。將各第二尺度塊進行合并得到第三尺度塊時,依次遍歷各第二尺度塊,將未經(jīng)合 并的當(dāng)前第二尺度塊作為第三尺度塊,并將滿足第二既定條件的未經(jīng)合并的第二尺度塊合 并到所述第三尺度塊。第三尺度塊的概念對應(yīng)于“詞段”,“詞段”是指文字行中被標(biāo)點符號 或去掉的第一尺度塊等間隔開來的字符內(nèi)容,第三尺度塊由一個或多個滿足一定條件的第 二尺度塊的所有子塊——第一尺度塊組成,即第三尺度塊也是由第一尺度塊組成。將所有 的第二尺度塊按照從左到右的順序進行排序,計算第二尺度塊間的第二參考水平間距后進 行合并,由于第二尺度塊包括多個第一尺度塊,則合并后得到多個由第一尺度塊組成的第 三尺度塊。本實施例中,從左至右將第二尺度塊進行合并。計算第二尺度塊間的第二參考水 平間距的具體方法為從第一個第二尺度塊開始,遍歷所有的第二尺度塊,對于當(dāng)前第二尺 度塊,找出位于其右側(cè)的、與其在豎直方向有交疊且水平方向距離最近的第二尺度塊,豎直 方向有交疊是指兩個第二尺度塊的相鄰的兩個子塊在豎直方向有交疊,將二者之間水平方 向的距離作為當(dāng)前第二尺度塊的水平間距。水平方向的距離用當(dāng)前第二尺度塊右側(cè)的第二 尺度塊的左坐標(biāo)值減去當(dāng)前第二尺度塊的右坐標(biāo)值表示,“詞段”間的間隔一般是標(biāo)點符號 或去掉的第一尺度塊等形成,這些間隔一般不會超過2倍字符寬度,所以得到所有的水平 間距后要去掉其中大于等于2倍字符寬度,即148,的值,取剩余水平間距值的中值作為第 二參考水平間距。本實施例中,所得的第二尺度塊間的第二參考水平間距為35。將各第二尺度塊合并以得到第三尺度塊的具體方法是從第一個第二尺度塊開 始,依次遍歷所有的第二尺度塊,如果當(dāng)前第二尺度塊已經(jīng)屬于某個第三尺度塊,則跳過該 第二尺度塊,否則創(chuàng)建一個新的第三尺度塊并將當(dāng)前第二尺度塊的子塊都添加到該第三尺 度塊中,并將所有滿足一定條件的第二尺度塊的子塊都合并到該第三尺度塊中。對于一個 新建的第三尺度塊,以其最右側(cè)子塊為當(dāng)前子塊,搜索能夠合并到該第三尺度塊的第二尺 度塊,能夠合并到該第三尺度塊的第二尺度塊需要滿足如下第二既定條件
1)尚未合并到任何第三尺度塊;
2)位于當(dāng)前子塊右側(cè);
3)與當(dāng)前子塊的水平間距大于零、小于等于2倍第二參考水平間距,即70;
4)該第三尺度塊的最左側(cè)子塊與當(dāng)前子塊在豎直方向有既定高度的交疊。步驟3還包括對得到的第三尺度塊進行驗證,如果與當(dāng)前第二尺度塊相鄰的、與 合并方向相反的第二尺度塊和當(dāng)前第二尺度塊在豎直方向有高度大于既定高度的交疊,且 兩相鄰的第二尺度塊的水平間距不大于2倍水平間距,則當(dāng)前第二尺度塊不能合并至第三 尺度塊中,當(dāng)前第三尺度塊結(jié)束合并。本實施例中,由于從左至右將第二尺度塊進行合并, 則從右至左對合并的第三尺度塊進行驗證,以當(dāng)前第二尺度塊最左側(cè)子塊為參考子塊,滿 足條件
a)尚未合并到任何第三尺度塊;
b)位于參考子塊左側(cè);c)與參考子塊的水平間距小于等于2倍第二參考水平間距,即70;
d)該第二尺度塊的最右側(cè)子塊與參考子塊在豎直方向有大于既定高度的交疊。如果不對得到的第三尺度塊進行驗證,則第三尺度塊會依次從左向右去合并合適 的第二尺度塊,當(dāng)前第二尺度塊雖然滿足條件1)、2)、3)、4),但有其他的第二尺度塊比當(dāng)前 第二尺度塊更適合與第三尺度塊進行合并。如圖10所示,當(dāng)前第三尺度塊為“的包辦代替 和”,搜索到第二尺度塊“了”、“獨立”、“的愿望”滿足條件1)、2)、3)、4),但是顯然這些第二 尺度塊與其左側(cè)的第二尺度塊“有”合并才正確,如果不對第二尺度塊進行驗證,就會發(fā)生 錯誤合并。如果不存在滿足條件1)、2)、3)、4)的第二尺度塊,且第二尺度塊的驗證沒有通 過,則該第三尺度塊結(jié)束合并。如果滿足條件1)、2)、3)、4)的第二尺度塊只有一個,且第二 尺度塊的驗證通過,則將其子塊合并到該第三尺度塊中,并將合并后的第三尺度塊的最右 側(cè)子塊作為當(dāng)前子塊繼續(xù)進行搜索合并。如果滿足條件1)、2)、3)、4)的第二尺度塊有多個, 且這些第二尺度塊的驗證均通過,并且存在兩個或兩個以上的豎直方向交疊高度大于字符 高度的三分之一,即24,則該第三尺度塊結(jié)束合并。如圖11中第三尺度塊“社會意識,有了 ‘獨立’的愿望。要自己干一些事情”與其右側(cè)的兩個第二尺度塊既存在此種情況,此時該 第三尺度塊結(jié)束合并。如果滿足條件1)、2)、3)、4)的第二尺度塊有多個,且這些第二尺度塊的驗證均通 過,且不存在兩個或兩個以上的豎直方向交疊高度同時大于字符高度的三分之一,即24,則 只將豎直方向交疊高度最大者的第二尺度塊合并到該第三尺度塊中,并將合并后的第三尺 度塊的最右側(cè)子塊作為當(dāng)前子塊繼續(xù)進行搜索合并。本實施例中,合并后得到的第三尺度 塊如圖12所示,其中單個灰色方框或由線段連接的多個灰色方框表示一個第三尺度塊,灰 色方框表示構(gòu)成第三尺度塊的第一尺度塊。步驟4:將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù)目 的第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。將各第三尺度塊進行合并得到文字行時,依次遍歷含有既定數(shù)目的第一尺度塊的 各第三尺度塊,將未經(jīng)合并的當(dāng)前第三尺度塊作為文字行,把滿足第三既定條件的未經(jīng)合 并的第三尺度塊合并到所述文字行。文字行由滿足一定條件的第三尺度塊的所有第一尺度 塊構(gòu)成,即文字行也是由第一尺度塊構(gòu)成,它與第三尺度塊的區(qū)別在于尺度不同。在得到第 三尺度塊后,由于第三尺度塊已經(jīng)具有一定的長度,即一般由多個第一尺度塊構(gòu)成,第二參 考水平間距作為合并的度量條件已經(jīng)不可靠,這些第三尺度塊本身已經(jīng)包含了文字行的軌 跡趨勢,所以可以利用這種軌跡趨勢進行合并,軌跡趨勢可以用第三尺度塊的首尾部分既 定數(shù)目的第一尺度塊的延長線描述。將所有的第三尺度塊按照從左到右的順序進行排序, 計算含有既定數(shù)目的第三尺度塊的左右兩端的延長線后進行合并。本實施例中,既定數(shù)目為三個及三個以上,從左至右將第三尺度塊進行合并。對于 含有三個及三個以上第一尺度塊的第三尺度塊,其左端延長線由位于第三尺度塊最左側(cè)的 三個第一尺度塊計算得到,其右端延長線由位于第三尺度塊最右側(cè)的三個第一尺度塊計算 得到。延長線可以通過提取三個第一尺度塊的中心點坐標(biāo)并用最小二乘法擬合得到。將各第三尺度塊合并以得到文字行的具體方法是從第一個第三尺度塊開始,依 次遍歷所有含有三個及三個以上第一尺度塊的第三尺度塊,如果當(dāng)前第三尺度塊已經(jīng)屬于 某個文字行,則跳過該第三尺度塊,否則創(chuàng)建一個新的文字行并將當(dāng)前第三尺度塊的第一尺度塊都添加到該文字行中。本實施例中,以當(dāng)前第三尺度塊的左右兩端延長線作為文字 行左右兩端延長線,根據(jù)延長線將第三尺度塊的第一尺度塊都合并到該文字行中,由于第 三尺度塊包括一個或多個第二尺度塊,第二尺度塊包括一個或多個第一尺度塊,則合并后 得到一個或多個由第一尺度塊組成的文字行。對于一個新建的文字行,分別搜索位于當(dāng)前 文字行左右兩側(cè)的能夠合并到當(dāng)前文字行的第三尺度塊,對于位于當(dāng)前文字行左側(cè)的第三 尺度塊,合并條件如下
1)尚未合并到任何文字行;
2)文字行左端延長線穿過當(dāng)前第三尺度塊的最右側(cè)第一尺度塊;
3)該第三尺度塊與相鄰的第三尺度塊的水平間距小于4倍字符寬度,即四6。其中該第三尺度塊與當(dāng)前文字行的水平方向距離用當(dāng)前文字行的左坐標(biāo)減去當(dāng) 前第三尺度塊的最右側(cè)第一尺度塊的右坐標(biāo)的差值表示。如果不存在滿足條件1)、2)、3) 的第三尺度塊,則該文字行結(jié)束合并;如果找到一個滿足條件1)、2)、3)的第三尺度塊,則 將其第三尺度塊合并到該文字行中,根據(jù)所得的文字行左端的三個第一尺度塊繼續(xù)進行合 并。如果該第三尺度塊有左端延長線,則將第三尺度塊的左端延長線作為合并后的文字行 的左端延長線;如果該第三尺度塊沒有左端延長線,則取合并后的文字行的最左側(cè)的三個 第一尺度塊重新計算左端延長線,并以合并后的文字行繼續(xù)向左進行搜索合并。對于位于當(dāng)前文字行右側(cè)的第三尺度塊,合并條件如下
1)尚未合并到任何文字行;
2)文字行右端延長線穿過當(dāng)前第三尺度塊的最左側(cè)第一尺度塊;
3)該第三尺度塊與相鄰的第三尺度塊的水平間距小于4倍字符寬度,即四6。其中該第三尺度塊與當(dāng)前文字行的水平方向距離用當(dāng)前文字行的右坐標(biāo)減去當(dāng) 前第三尺度塊的最左側(cè)第一尺度塊的左坐標(biāo)的差值表示。如果不存在滿足條件1)、2)、3) 的第三尺度塊,則該文字行結(jié)束合并;如果找到一個滿足條件1)、2)、3)的第三尺度塊,則 將其第三尺度塊合并到該文字行中,根據(jù)所得的文字行右端的三個第一尺度塊繼續(xù)進行合 并。如果該第三尺度塊有右端延長線,則將第三尺度塊的右端延長線作為合并后的文字行 的右端延長線;如果該第三尺度塊沒有右端延長線,則取合并后的文字行的最右側(cè)的三個 第一尺度塊重新計算右端延長線,并以合并后的文字行繼續(xù)向右進行搜索合并。本實施例 中,得到的文字行如圖13所示,其中用線段連接在一起的灰色方框表一個文字行,灰色方 框表示構(gòu)成文字行的第一尺度塊。上述步驟1至步驟4都屬于自底向上的合并步驟,但在得到文字行后可以用文字 行作指導(dǎo),自頂向下的去合并那些在步驟12中去掉的第一尺度塊。去掉的第一尺度塊是 較小的非貼邊第一尺度塊,這些第一尺度塊中的部分或全部有可能是某個文字行的組成部 分,需要將其合并到對應(yīng)的文字行中以得到完整的文字行,故本實施例中還包括步驟45。步驟45,將小于字符高度二分之一的第一尺度塊添加至文字行。將相鄰的第一尺度塊的中心點的線段分別向上和向下平移二分之一的字符高度 之間的區(qū)域作為有效區(qū)域,在有效區(qū)域內(nèi)的第一尺度塊添加至文字行。本實施例中,某文字 行中的兩個相鄰第一尺度塊的中心點的連線形成一條線段,這條線段向上平移二分之一的 字符高度后的位置稱為文字行在該位置處的上邊線,這條線段向下平移二分之一的字符高 度后的位置稱為文字行在該位置處的下邊線,上下邊線所夾的區(qū)域稱為文字行在該位置處的有效區(qū)域。如果某個被去掉的第一尺度塊包含在某文字行的某個有效區(qū)域內(nèi)或與某文字 行的某個有效區(qū)域相交,則將該第一尺度塊添加到該文字行中,否則該第一尺度塊不加入 任何文字行中。本實施例中,最終得到的文字行如圖14所示,其中由線段連接在一起的灰色方框 表示一個文字行,灰色方框表示構(gòu)成文字行的第一尺度塊。
實施例之二
如圖15所示,提供掃描筆獲取的英文全景二值圖像為第二實施例,圖1所示為第二實 施例的流程圖,具體處理步驟如下
步驟0 對全景二值圖像進行預(yù)處理。A)標(biāo)記全景二值圖像中的連通域,統(tǒng)計各連通域的高度得到全景二值圖像中的平 均字符高。如圖16所示,標(biāo)記全景二值圖像中的8連通域,計算各連通域的高度并從小到 大排序,從最大高度值開始,依次累加各個高度值對應(yīng)的連通域的個數(shù),當(dāng)累加個數(shù)大于等 于連通域總個數(shù)的十分之一時停止累加,取此時的高度值為平均字符高。本實施例中,得到 的平均字符高為49。B)去除全景二值圖像邊緣處高度小于平均字符高既定比例的連通域。由于掃描筆在獲取圖像時,有明確的目的性,即待識別文字行中的字符會盡量掃 描完整且盡量位于圖像的中間部分,這就意味著待識別文字行中的字符一般不會貼邊,貼 邊的概念如下全景二值圖像由圖像幀序列拼接而成,在拼接過程中,可以準(zhǔn)確獲取每幀圖 像在全景二值圖像中的位置,這樣就可以獲取全景二值圖像中由幀圖像數(shù)據(jù)構(gòu)成的部分的 區(qū)域,這個區(qū)域的上邊緣線稱為全景二值圖像的上邊緣線,這個區(qū)域的下邊緣線稱為全景 二值圖像的下邊緣線,如果某個連通域的像素位于上邊緣線或下邊緣線上,則稱之為貼邊 類型的連通域。貼邊類型的連通域一般均為不完整字符,如果字符過于不完整,則該字符無 法識別,故需要去除這些不完整的字符以避免對后續(xù)的合并和識別過程產(chǎn)生干擾。在本實 施例中,全景二值圖像的上下邊緣線如圖17中的灰線所示,去除高度小于字符高度的二分 之一,即24,的貼邊連通域后剩余的連通域如圖18所示。步驟1,對全景二值圖像中的各連通域進行統(tǒng)計,得到字符寬度和字符高度,根據(jù) 字符寬度和字符高度對各連通域進行合并,得到第一尺度塊。統(tǒng)計字符寬度和字符高度,去掉較小的貼邊連通域后,統(tǒng)計得到的結(jié)果更加接近 于真實值。計算各連通域的寬度并從小到大排序,從最大寬度值開始,依次累加各個寬度值 對應(yīng)的連通域的個數(shù),按寬度值從大到小的順序?qū)⑵鋵?yīng)的連通域個數(shù)加和,取加和大于 等于連通域總數(shù)的五分之一時對應(yīng)的寬度值作為字符寬度。同理,計算各連通域的高度并 從小到大排序,從最大高度值開始,依次累加各個高度值對應(yīng)的連通域的個數(shù),按高度值從 大到小的順序?qū)⑵鋵?yīng)的連通域個數(shù)加和,取加和值大于等于連通域總數(shù)的五分之一時對 應(yīng)的高度值作為字符高度。本實施例中,此步驟得到的字符寬度為44,字符高度為M。根據(jù)字符寬度和字符高度對各連通域進行合并,合并各連通域得到第一尺度塊。 第一尺度塊的概念對應(yīng)于“字符”,第一尺度塊由符合一定條件的相包含或相交或相鄰的連 通域構(gòu)成,具體流程如圖2所示,包含如下處理過程
合并相包含的連通域。對于各連通域中一個連通域包含另一個連通域的情況,如果較大的連通域的寬度小于等于字符寬度的1. 5倍,即66,并且較大的連通域的高度小于等于 字符高度的1. 5倍,即81,則將兩相包含的連通域進行合并。對于被合并的兩個連通域不再 繼續(xù)合并,并使合并得到的連通域繼續(xù)參與合并,直至各連通域中所有相包含的連通域合 并結(jié)束。合并相交的連通域。對于相交的兩個連通域,如果合并后的連通域的寬度小于等 于字符寬度的1. 5倍,即66,并且結(jié)果合并后的連通域的高度小于等于字符高度的1. 5倍, 即81,則將兩相交的連通域進行合并。對于被合并的兩個連通域不再繼續(xù)合并,并使合并得 到的連通域繼續(xù)參與合并,直至各連通域中所有相交的連通域合并結(jié)束。合并左右相鄰且豎直方向有交疊的連通域。對于左右相鄰且豎直方向有交疊的兩 個連通域,如果合并后的連通域的寬度小于等于字符寬度的四分之五,即55,并且高度小于 等于字符高度的五分之六,即64,則將兩左右相鄰且豎直方向有交疊的連通域進行合并。對 于被合并的兩個連通域不再繼續(xù)合并,并使合并得到的連通域繼續(xù)參與合并,直至各連通 域中所有左右相鄰且豎直方向有交疊的連通域合并結(jié)束。合并上下相鄰且水平方向有交疊的連通域。對于上下相鄰且水平方向有交疊的兩 個連通域,如果合并后的連通域的寬度小于等于字符寬度的四分之五,即55,并且高度小于 等于字符高度的五分之六,即64,則將兩上下相鄰且水平方向有交疊的連通域進行合并。對 于被合并的兩個連通域不再繼續(xù)合并,并使合并得到的連通域繼續(xù)參與合并,直至各連通 域中所有上下相鄰且水平方向有交疊的連通域合并結(jié)束。經(jīng)過上述步驟的合并后,將未發(fā)生合并的連通域及合并所得的連通域作為第一尺 度塊。本實施例中,得到的第一尺度塊如圖19中的灰色方框所示。步驟12,去除小于字符高度二分之一的第一尺度塊。由于較小的第一尺度塊會干擾后面的合并,所以要先去除這些高度小于字符高度 的二分之一,即27,的第一尺度塊。剩余的第一尺度塊如圖20中的灰色方框所示。步驟2,將得到的第一尺度塊進行排序,得到各第一尺度塊間的參考水平間距,根 據(jù)參考水平間距將各第一尺度塊進行合并得到第二尺度塊。將各第一尺度塊進行合并得到第二尺度塊時,依次遍歷各第一尺度塊,將未經(jīng)合 并的當(dāng)前第一尺度塊作為第二尺度塊,并將滿足既定條件的未經(jīng)合并的第一尺度塊合并到 所述第二尺度塊。第二尺度塊的概念對應(yīng)于“單詞”,由一個或多個滿足一定條件的第一尺 度塊組成,構(gòu)成第二尺度塊的每個第一尺度塊作為第二尺度塊的子塊。將所有的第一尺度 塊按照從左到右的順序進行排序,計算第一尺度塊間的水平間距后進行合并。本實施例中,從左至右將第一尺度塊進行合并。計算第一尺度塊間的參考水平間 距的具體方法為從第一個第一尺度塊開始,遍歷所有的第一尺度塊,對于當(dāng)前第一尺度 塊,找出位于其右側(cè)與其在豎直方向有交疊且水平方向距離最近的第一尺度塊,用其左坐 標(biāo)值減去當(dāng)前第一尺度塊的右坐標(biāo)值的長度作為水平間距,取所有這些水平間距值的中值 作為第一尺度塊間的參考水平間距。本實施例中,所得的第一尺度塊的參考水平間距為4。將各第一尺度塊合并以得到第二尺度塊的具體方法是從第一個第一尺度塊開 始,依次遍歷所有的第一尺度塊,如果當(dāng)前第一尺度塊已經(jīng)屬于某個第二尺度塊,則跳過該 第一尺度塊,否則創(chuàng)建一個新的第二尺度塊并將當(dāng)前第一尺度塊合并至該第二尺度塊中。 對于一個新建的第二尺度塊,以第一個子塊為當(dāng)前子塊,搜索能夠合并到該第二尺度塊的第一尺度塊,能夠合并到該第二尺度塊的各第一尺度塊需滿足如下既定條件
1)尚未合并到任何第二尺度塊;
2)位于當(dāng)前子塊右側(cè);
3)與相鄰的第二尺度塊的水平間距小于等于2倍的參考水平間距,即8,并且大于等于 負(fù)的字符寬度的三分之一,即-14 ;
4)與當(dāng)前子塊在豎直方向有交疊,且交疊高度大于等于兩者中高度較小者的三分之
ο如果不存在滿足條件1)、2)、3)、4)的第一尺度塊,則該第二尺度塊結(jié)束合并;如 果滿足條件1)、2)、3)、4)的第一尺度塊只有一個,則將這一個合并,合并后將新加入的第 一尺度塊作為當(dāng)前子塊繼續(xù)進行搜索合并;如果滿足條件1)、2)、3)、4)的第一尺度塊有多 個,則只取豎直方向交疊最大的一個合并,合并后的第一尺度塊作為當(dāng)前子塊繼續(xù)進行搜 索合并。本實施例中,得到的第二尺度塊如圖21所示,其中單個灰色方框或者用線段連接 在一起的灰色方框表示一個第二尺度塊,灰色方框表示構(gòu)成第二尺度塊的第一尺度塊。步驟3,將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平間 距,根據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊。將各第二尺度塊進行合并得到第三尺度塊時,依次遍歷各第二尺度塊,將未經(jīng)合 并的當(dāng)前第二尺度塊作為第三尺度塊,并將滿足第二既定條件的未經(jīng)合并的第二尺度塊合 并到所述第三尺度塊。第三尺度塊的概念對應(yīng)于“詞段”,“詞段”是指文字行中被標(biāo)點符號 或去掉的第一尺度塊等間隔開來的字符內(nèi)容,第三尺度塊由一個或多個滿足一定條件的第 二尺度塊的所有子塊——第一尺度塊組成,即第三尺度塊也是由第一尺度塊組成。將所有 的第二尺度塊按照從左到右的順序進行排序,計算第二尺度塊間的第二參考水平間距后進 行合并,由于第二尺度塊包括多個第一尺度塊,則合并后得到多個由第一尺度塊組成的第 三尺度塊。本實施例中,從左至右將第二尺度塊進行合并。計算第二尺度塊間的第二參考水 平間距的具體方法為從第一個第二尺度塊開始,遍歷所有的第二尺度塊,對于當(dāng)前第二尺 度塊,找出位于其右側(cè)的、與其在豎直方向有交疊且水平方向距離最近的第二尺度塊,豎直 方向有交疊是指兩個第二尺度塊的相鄰的兩個子塊在豎直方向有交疊,將二者之間水平方 向的距離作為當(dāng)前第二尺度塊的水平間距。水平方向的距離用當(dāng)前第二尺度塊右側(cè)的第二 尺度塊的左坐標(biāo)值減去當(dāng)前第二尺度塊的右坐標(biāo)值表示,“詞段”間的間隔一般是標(biāo)點符號 或去掉的第一尺度塊等造成的,這些間隔一般不會超過2倍字符寬度,所以得到所有的水 平間距后要去掉其中大于等于2倍字符寬度,即88,的值,取剩余水平間距值的中值作為第 二參考水平間距。本實施例中,所得的第二尺度塊間的第二參考水平間距為36。將各第二尺度塊合并以得到第三尺度塊的具體方法是從第一個第二尺度塊開 始,依次遍歷所有的第二尺度塊,如果當(dāng)前第二尺度塊已經(jīng)屬于某個第三尺度塊,則跳過該 第二尺度塊,否則創(chuàng)建一個新的第三尺度塊并將當(dāng)前第二尺度塊的子塊都添加到該第三尺 度塊中,并將所有滿足一定條件的第二尺度塊的子塊都合并到該第三尺度塊中。對于一個 新建的第三尺度塊,以其最右側(cè)子塊為當(dāng)前子塊,搜索能夠合并到該第三尺度塊的第二尺 度塊,能夠合并到該第三尺度塊的第二尺度塊需要滿足如下第二既定條件
1)尚未合并到任何第三尺度塊;2)位于當(dāng)前子塊右側(cè);
3)與當(dāng)前子塊的水平間距大于零、小于等于2倍第二參考水平間距,即72;
4)該第三尺度塊的最左側(cè)子塊與當(dāng)前子塊在豎直方向有既定高度的交疊。步驟3還包括對得到的第三尺度塊進行驗證,如果與當(dāng)前第二尺度塊相鄰的、與 合并方向相反的第二尺度塊和當(dāng)前第二尺度塊在豎直方向有高度大于既定高度的交疊,且 兩相鄰的第二尺度塊的水平間距不大于2倍水平間距,則當(dāng)前第二尺度塊不能合并至第三 尺度塊中,當(dāng)前第三尺度塊結(jié)束合并。本實施例中,由于從左至右將第二尺度塊進行合并, 則從右至左對合并的第三尺度塊進行驗證,以當(dāng)前第二尺度塊最左側(cè)子塊為參考子塊,滿 足條件
a)尚未合并到任何第三尺度塊;
b)位于參考子塊左側(cè);
c)與參考子塊的水平間距小于等于2倍第二參考水平間距,即72;
d)該第二尺度塊的最右側(cè)子塊與參考子塊在豎直方向有大于既定高度的交疊。如果不對得到的第三尺度塊進行驗證,則第三尺度塊會依次從左向右去合并合適 的第二尺度塊,當(dāng)前第二尺度塊雖然滿足條件1)、2)、3)、4),但有其他的第二尺度塊比當(dāng)前 第二尺度塊更合適地與第三尺度塊進行合并。如果不存在滿足條件1)、2)、3)、4)的第二尺 度塊,且第二尺度塊的驗證沒有通過,則該第三尺度塊結(jié)束合并。如果滿足條件1)、2)、3)、4)的第二尺度塊只有一個,且第二尺度塊的驗證通過,則 將其子塊合并到該第三尺度塊中,并將合并后的第三尺度塊的最右側(cè)子塊作為當(dāng)前子塊繼 續(xù)進行搜索合并。如果滿足條件1)、2)、3)、4)的第二尺度塊有多個,且這些第二尺度塊的驗 證均通過,并且存在兩個或兩個以上的豎直方向交疊高度大于字符高度的三分之一,即18, 則該第三尺度塊結(jié)束合并。如果滿足條件1)、2)、3)、4)的第二尺度塊有多個,且這些第二尺 度塊的驗證均通過,且不存在兩個或兩個以上的豎直方向交疊高度同時大于字符高度的三 分之一則只將豎直方向交疊高度最大者的第二尺度塊合并到該第三尺度塊中,并將合并后 的第三尺度塊的最右側(cè)子塊作為當(dāng)前子塊繼續(xù)進行搜索合并。本實施例中,得到的第三尺 度塊如圖22所示,其中單個灰色方框或由線段連接的多個灰色方框表示一個第三尺度塊, 灰色方框表示構(gòu)成第三尺度塊的第一尺度塊。步驟4:將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù)目 的第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。將各第三尺度塊進行合并得到文字行時,依次遍歷含有既定數(shù)目的第一尺度塊的 各第三尺度塊,將未經(jīng)合并的當(dāng)前第三尺度塊作為文字行,把滿足第三既定條件的未經(jīng)合 并的第三尺度塊合并到所述文字行。文字行由滿足一定條件的第三尺度塊的所有第一尺度 塊構(gòu)成,即文字行也是由第一尺度塊構(gòu)成,它與第三尺度塊的區(qū)別在于尺度不同。在得到第 三尺度塊后,由于第三尺度塊已經(jīng)具有一定的長度,即一般由多個第一尺度塊構(gòu)成,第二參 考水平間距作為合并的度量條件已經(jīng)不可靠,這些第三尺度塊本身已經(jīng)包含了文字行的軌 跡趨勢,所以可以利用這種軌跡趨勢進行合并,軌跡趨勢可以用第三尺度塊的首尾部分既 定數(shù)目的第一尺度塊的延長線描述。將所有的第三尺度塊按照從左到右的順序進行排序, 計算含有既定數(shù)目的第三尺度塊的左右兩端的延長線后進行合并。本實施例中,既定數(shù)目為三個及三個以上,從左至右將第三尺度塊進行合并。對于含有三個及三個以上第一尺度塊的第三尺度塊,其左端延長線由位于第三尺度塊最左側(cè)的 三個第一尺度塊計算得到,其右端延長線由位于第三尺度塊最右側(cè)的三個第一尺度塊計算 得到。延長線可以通過提取三個第一尺度塊的中心點坐標(biāo)并用最小二乘法擬合得到。將各第三尺度塊合并以得到文字行的具體方法是從第一個第三尺度塊開始,依 次遍歷所有含有三個及三個以上第一尺度塊的第三尺度塊,如果當(dāng)前第三尺度塊已經(jīng)屬于 某個文字行,則跳過該第三尺度塊,否則創(chuàng)建一個新的文字行并將當(dāng)前第三尺度塊的第一 尺度塊都添加到該文字行中。本實施例中,以當(dāng)前第三尺度塊的左右兩端延長線作為文字 行左右兩端延長線,根據(jù)延長線將第三尺度塊的第一尺度塊都合并到該文字行中,由于第 三尺度塊包括一個或多個第二尺度塊,第二尺度塊包括一個或多個第一尺度塊,則合并后 得到由一個或多個第一尺度塊組成的文字行。對于一個新建的文字行,分別搜索位于當(dāng)前 文字行左右兩側(cè)的能夠合并到當(dāng)前文字行的第三尺度塊,對于位于當(dāng)前文字行左側(cè)的第三 尺度塊,合并條件如下
對于位于當(dāng)前文字行左側(cè)的第三尺度塊,合并條件如下 1)尚未合并到任何文字行;
2)文字行左端延長線穿過當(dāng)前第三尺度塊的最右側(cè)第一尺度塊;
3)該第三尺度塊與相鄰的第三尺度塊的水平間距小于4倍字符寬度,即176; 其中該第三尺度塊與當(dāng)前文字行的水平方向距離用當(dāng)前文字行的左坐標(biāo)減去當(dāng)前第
三尺度塊的最右側(cè)第一尺度塊的右坐標(biāo)的差值表示。如果不存在滿足條件1)、2)、3)的第三 尺度塊,則該文字行結(jié)束合并;如果找到一個滿足條件1)、2)、3)的第三尺度塊,則將其第 三尺度塊合并到該文字行中,根據(jù)所得的文字行左端的三個第一尺度塊繼續(xù)進行合并。如 果該第三尺度塊有左端延長線,則將第三尺度塊的左端延長線作為合并后的文字行的左端 延長線;如果該第三尺度塊沒有左端延長線,則取合并后的文字行的最左側(cè)的三個第一尺 度塊重新計算左端延長線,并以合并后的文字行繼續(xù)向左進行搜索合并。對于位于當(dāng)前文字行右側(cè)的第三尺度塊,合并條件如下
1)尚未合并到任何文字行;
2)文字行右端延長線穿過當(dāng)前第三尺度塊的最左側(cè)第一尺度塊;
3)該第三尺度塊與相鄰的第三尺度塊的水平間距小于4倍字符寬度,即176。其中該第三尺度塊與當(dāng)前文字行的水平方向距離用當(dāng)前文字行的右坐標(biāo)減去當(dāng) 前第三尺度塊的最左側(cè)第一尺度塊的左坐標(biāo)的差值表示。如果不存在滿足條件1)、2)、3) 的第三尺度塊,則該文字行結(jié)束合并;如果找到一個滿足條件1)、2)、3)的第三尺度塊,則 將其第三尺度塊合并到該文字行中,根據(jù)所得的文字行右端的三個第一尺度塊繼續(xù)進行合 并。如果該第三尺度塊有右端延長線,則將第三尺度塊的右端延長線作為合并后的文字行 的右端延長線;如果該第三尺度塊沒有右端延長線,則取合并后的文字行的最右側(cè)的三個 第一尺度塊重新計算右端延長線,并以合并后的文字行繼續(xù)向右進行搜索合并。本實施例 中,得到的文字行如圖23所示,其中用線段連接在一起的灰色方框表一個文字行,灰色方 框表示構(gòu)成文字行的第一尺度塊。上述步驟1至步驟4都屬于自底向上的合并步驟,但在得到文字行后可以用文字 行作指導(dǎo),自頂向下的去合并那些在步驟12中去掉的第一尺度塊。去掉的第一尺度塊是 較小的非貼邊第一尺度塊,這些第一尺度塊中的部分或全部有可能是某個文字行的組成部分,需要將其合并到對應(yīng)的文字行中以得到完整的文字行,故本實施例中還包括步驟45。步驟45,將小于字符高度二分之一的第一尺度塊添加至文字行。將相鄰的第一尺度塊的中心點的線段分別向上和向下平移二分之一的字符高度 之間的區(qū)域作為有效區(qū)域,在有效區(qū)域內(nèi)的第一尺度塊添加至文字行。本實施例中,某文字 行中的兩個相鄰第一尺度塊的中心點的連線形成一條線段,這條線段向上平移二分之一的 字符高度后的位置稱為文字行在該位置處的上邊線,這條線段向下平移二分之一的字符高 度后的位置稱為文字行在該位置處的下邊線,上下邊線所夾的區(qū)域稱為文字行在該位置處 的有效區(qū)域。如果某個被去掉的第一尺度塊包含在某文字行的某個有效區(qū)域內(nèi)或與某文字 行的某個有效區(qū)域相交,則將該第一尺度塊添加到該文字行中,否則該第一尺度塊不加入 任何文字行中。本實施例中,最終得到的文字行如圖M所示,其中由線段連接在一起的灰色方框 表示一個文字行,灰色方框表示構(gòu)成文字行的第一尺度塊。本發(fā)明還公開了一種文字行提取裝置,包括如下模塊
統(tǒng)計模塊對全景二值圖像中的各連通域進行統(tǒng)計,得到字符寬度和字符高度,根據(jù)字 符寬度和字符高度對各連通域進行合并,得到第一尺度塊;
第一合并模塊將得到的第一尺度塊進行排序,得到各第一尺度塊間的參考水平間距, 根據(jù)參考水平間距將各第一尺度塊進行合并得到第二尺度塊;
第二合并模塊將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平 間距,根據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊;
第三合并模塊將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù) 目的第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。
權(quán)利要求
1.一種文字行提取方法,其特征在于,包括如下步驟步驟一對全景二值圖像中的各連通域進行統(tǒng)計,得到字符寬度和字符高度,根據(jù)字符 寬度和字符高度對各連通域進行合并,得到第一尺度塊;步驟二 將得到的第一尺度塊進行排序,得到各第一尺度塊間的參考水平間距,根據(jù)參 考水平間距將各第一尺度塊進行合并得到第二尺度塊;步驟三將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平間距,根 據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊;步驟四將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù)目的第 一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟一之前還包括步驟a:標(biāo)記全景二值圖像中的連通域,統(tǒng)計各連通域的高度得到全景二值圖像中的 平均字符高;步驟b 去除全景二值圖像邊緣處高度小于平均字符高既定比例的連通域。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟一中對全景二值圖像中的各連 通域進行統(tǒng)計時,按各連通域的寬度值統(tǒng)計對應(yīng)的連通域個數(shù),按寬度值從大到小的順序 將其對應(yīng)的連通域個數(shù)加和,取加和大于等于連通域總數(shù)的五分之一時對應(yīng)的寬度值作為 字符寬度。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟一中對全景二值圖像中的各連 通域進行統(tǒng)計時,按各連通域的高度值統(tǒng)計對應(yīng)的連通域個數(shù),按高度值從大到小的順序 將其對應(yīng)的連通域個數(shù)加和,取加和值大于等于連通域總數(shù)的五分之一時對應(yīng)的高度值作 為字符高度。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟一之后還包括去除小于字符高 度二分之一的第一尺度塊。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟二的參考水平間距為兩相鄰的 第一尺度塊間的水平間距的中值。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟二中將各第一尺度塊進行合并 得到第二尺度塊時,依次遍歷各第一尺度塊,將未經(jīng)合并的當(dāng)前第一尺度塊作為第二尺度 塊,并將滿足既定條件的未經(jīng)合并的第一尺度塊合并到所述第二尺度塊。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于所述既定條件為第二尺度塊與相鄰的第 一尺度塊在豎直方向有交疊,且交疊高度大于等于兩者中高度較小者的三分之一,且第二 尺度塊與相鄰的第一尺度塊的水平間距小于等于2倍參考水平間距且大于等于負(fù)的字符 寬度的三分之一。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟三的第二參考水平間距為兩相 鄰的第二尺度塊間的小于2倍字符寬度的水平間距的中值。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟三中將各第二尺度塊進行合并 得到第三尺度塊時,依次遍歷各第二尺度塊,將未經(jīng)合并的當(dāng)前第二尺度塊作為第三尺度 塊,并將滿足第二既定條件的未經(jīng)合并的第二尺度塊合并到所述第三尺度塊。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于所述第二既定條件為第三尺度塊與相 鄰的第二尺度塊在豎直方向有既定高度的交疊;且第三尺度塊與相鄰的第二尺度塊的水平間距大于零、小于等于2倍第二參考水平間距。
12.根據(jù)權(quán)利要求10所述的方法,其特征在于所述步驟三還包括對得到的第三尺度 塊進行驗證,如果與當(dāng)前第二尺度塊相鄰的、與合并方向相反的第二尺度塊和當(dāng)前第二尺 度塊在豎直方向有高度大于既定高度的交疊,且兩相鄰的第二尺度塊的水平間距不大于2 倍水平間距,則當(dāng)前第二尺度塊不能合并至第三尺度塊中,當(dāng)前第三尺度塊結(jié)束合并。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟四中的延長線分別由位于第三 尺度塊中最左側(cè)既定數(shù)目的第一尺度塊和最右側(cè)的既定數(shù)目的第一尺度塊生成,通過提取 各第一尺度塊的中心點坐標(biāo)用最小二乘法擬合得到。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于所述步驟四中的既定數(shù)目為三個及三 個以上。
15.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟四中根據(jù)延長線合并為文字行 包括依次遍歷含有既定數(shù)目的第一尺度塊的各第三尺度塊,將未經(jīng)合并的當(dāng)前第三尺度 塊作為文字行,把滿足第三既定條件的未經(jīng)合并的第三尺度塊合并到所述文字行。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于所述第三既定條件為文字行的延長線 穿過當(dāng)前第三尺度塊中與文字行距離最近的第一尺度塊,且當(dāng)前第三尺度塊與文字行的水 平間距小于4倍字符寬度。
17.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟四之后還包括將小于字符高 度二分之一的第一尺度塊添加至文字行。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于所述小于字符高度二分之一的第一尺 度塊添加至文字行時,將文字行中連接相鄰的第一尺度塊的中心點的線段分別向上和向下 平移二分之一的字符高度,所得線段之間的區(qū)域作為有效區(qū)域,在有效區(qū)域內(nèi)的第一尺度 塊添加至文字行。
19.一種文字行提取裝置,其特征在于,包括如下模塊統(tǒng)計模塊對全景二值圖像中的各連通域進行統(tǒng)計,得到字符寬度和字符高度,根據(jù)字 符寬度和字符高度對各連通域進行合并,得到第一尺度塊;第一合并模塊將得到的第一尺度塊進行排序,得到各第一尺度塊間的參考水平間距, 根據(jù)參考水平間距將各第一尺度塊進行合并得到第二尺度塊;第二合并模塊將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平 間距,根據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊;第三合并模塊將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù) 目的第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。
全文摘要
本發(fā)明提供一種文字行提取方法和裝置,屬于光學(xué)字符識別領(lǐng)域。包括對全景二值圖像的各連通域統(tǒng)計,得到字符寬度和字符高度,根據(jù)字符寬度和字符高度對各連通域合并;將得到各第一尺度塊間的參考水平間距,根據(jù)參考水平間距將各第一尺度塊合并;將得到各第二尺度塊間的第二參考水平間距,根據(jù)第二參考水平間距將各第二尺度塊合并;將得到的第三尺度塊排序后將第三尺度塊左右兩端既定數(shù)目的第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。本發(fā)明分別對應(yīng)字符、單詞和詞段進行多尺度合并,再以得到的文字行為基礎(chǔ)自頂向下將被排除的尺度塊添加回文字行中,減少了不完整字符對文字行提取的干擾,保證了得到的文字行的有效性和準(zhǔn)確性。
文檔編號G06K9/20GK102063619SQ20101056841
公開日2011年5月18日 申請日期2010年11月30日 優(yōu)先權(quán)日2010年11月30日
發(fā)明者李永彬 申請人:漢王科技股份有限公司