專利名稱:文字行幾何畸變校正方法和裝置的制作方法
技術領域:
本發(fā)明屬于光學字符識別領域,特別涉及一種文字行幾何畸變校正方法和裝置。
背景技術:
電子掃描筆(簡稱掃描筆)是OCR的重要應用之一。掃描筆的技術原理為光學攝 像頭按照一定頻率對被掃描資料進行連續(xù)拍照,獲取被掃資料的圖像序列后將圖像序列拼 接成一幅全景圖像并進行OCR處理。在掃描過程中,由于掃描筆的軸向旋轉(zhuǎn)會導致得到的 全景圖像中的文字行出現(xiàn)傾斜甚至彎曲,這會影響后續(xù)的OCR識別。因此,在得到全景圖像 后,需要先對其進行幾何畸變校正,將其中的文字行校正成水平行后才能進行后續(xù)的處理。對于文字行幾何畸變圖像的校正,一般是先要獲取文字行的幾何畸變曲線,這條 曲線也稱為校正曲線,然后根據(jù)校正曲線對文字行幾何畸變圖像進行校正。基于這種思想 的一種典型方法是,先對文字行圖像進行游程抹黑處理,然后通過穿越線對游程進行區(qū)段 劃分,接下來分析游程區(qū)段以獲取曲線擬合的采樣點集并進行曲線擬合,最后根據(jù)校正曲 線利用圖像錯切技術,即根據(jù)校正位置對圖像中的像素列進行豎直方向移動以完成校正。 該方法存在以下三點不足一是沒有針對文字行的字塊類型區(qū)別處理,其對由方塊字構成 的文字行處理效果尚可,但對由非方塊字構成的文字行的校正效果差;二是該方法采用全 局閾值進行游程抹黑,但一般不存在合理的全局閾值,從而抹黑效果差,導致校正效果差; 三是該方法在得到校正曲線后采取的圖像錯切校正方法,存在校正后字符變形的情況。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題為提供一種文字行幾何畸變校正方法和裝置,對文字 行的字塊類型分類并分別處理,采用分段游程抹黑技術獲取校正曲線,并沿校正曲線各點 的法線方向采樣校正圖像,對多種語種的文字行幾何畸變圖像均具有好的校正效果,適用 于具有不同畸變的文字段的校正。本發(fā)明公開了一種文字行幾何畸變校正方法,包括如下步驟 步驟一對二值圖像中的各文字行進行提??;
步驟二 根據(jù)提取到的各文字行進行選取,選取基準文字行; 步驟三判斷基準文字行中的字塊類型,根據(jù)字塊類型分段抹黑基準文字行; 步驟四將抹黑后的基準文字行進行采樣后擬合出校正曲線,并根據(jù)校正曲線校正二 值圖像。本發(fā)明還公開了一種文字行幾何畸變校正裝置,包括如下模塊 提取模塊對二值圖像中的各文字行進行提??;選取模塊根據(jù)提取到的各文字行進行選取,選取基準文字行; 抹黑模塊判斷基準文字行中的字塊類型,根據(jù)字塊類型分段抹黑基準文字行; 校正模塊將抹黑后的基準文字行進行采樣后擬合出校正曲線,并根據(jù)校正曲線校正
二值圖像。本發(fā)明文字行幾何畸變校正方法和裝置,具有以下優(yōu)點
1、針對文字行的字塊類型區(qū)別處理,對多種語種的文字行幾何畸變圖像均具有好的校 正效果;
2、采用分段游程抹黑技術,能夠獲取準確的校正曲線,校正效果好;適用于各行文字具 有不同畸變的文字段的校正,適應性好;
3、由于沿校正曲線各點的法線方向采樣作為校正后圖像的像素列,本方法能夠有效校 正字符的畸變。
圖1為本發(fā)明實施例之一的二值圖像。圖2為本發(fā)明文字行幾何畸變校正方法的一個實施例的流程圖。圖3為本發(fā)明實施例流程圖中步驟10的一個具體執(zhí)行流程圖。圖4為本發(fā)明實施例之一的步驟101的連通域標記結果示意圖。圖5為本發(fā)明實施例之一的步驟103的第一尺度塊示意圖。圖6為本發(fā)明實施例之一的步驟104的去掉較小第一尺度塊后剩余第一尺度塊的 示意圖。圖7為本發(fā)明實施例之一的步驟105的第二尺度塊示意圖。圖8為本發(fā)明實施例之一的步驟106的第三尺度塊示意圖。圖9為本發(fā)明實施例之一的步驟107的文字行示意圖。圖10為本發(fā)明實施例之一的步驟20的基準文字行示意圖。圖11為本發(fā)明實施例流程圖中步驟30的一個具體執(zhí)行流程圖。圖12為本發(fā)明實施例之一的步驟30中的子步驟的結果。圖13為本發(fā)明實施例流程圖中步驟40的一個具體執(zhí)行流程圖。圖14為本發(fā)明實施例之一的步驟401的基準文字行的連通域合并結果示意圖。圖15為本發(fā)明實施例之一的步驟40中的子步驟的結果。圖16為本發(fā)明實施例之一的步驟406的基準文字行的初始抹黑圖像的示意圖。圖17為本發(fā)明實施例之一的步驟406的去掉不平滑凹陷或凸起后的基準文字行 的抹黑圖像的示意圖。圖18為本發(fā)明實施例流程圖中步驟50的一個具體執(zhí)行流程圖。圖19為本發(fā)明實施例之一的步驟501的基準文字行抹黑圖像的采樣結果示意圖。圖20本發(fā)明實施例之一的步驟502的基準文字行抹黑圖像的二次采樣結果示意 圖。圖21本發(fā)明實施例之一的步驟503的校正曲線示意圖。圖22本發(fā)明實施例之一的步驟60的圖像校正過程的示意圖。
6
圖23本發(fā)明實施例之一的校正結果圖像。圖M為本發(fā)明實施例之二的二值圖像。圖25為本發(fā)明實施例之二的步驟101的連通域標記結果示意圖。圖沈為本發(fā)明實施例之二的步驟103的第一尺度塊示意圖。圖27為本發(fā)明實施例之二的步驟104的去掉較小第一尺度塊后剩余第一尺度塊 的示意圖。圖觀為本發(fā)明實施例之二的步驟105的第二尺度塊示意圖。圖四為本發(fā)明實施例之二的步驟106的第三尺度塊示意圖。圖30為本發(fā)明實施例之二的步驟107的文字行示意圖。圖31為本發(fā)明實施例之二的步驟20的基準文字行示意圖。圖32為本發(fā)明實施例之二的步驟30中的子步驟的結果。圖33為本發(fā)明實施例之二的步驟401的基準文字行的連通域合并結果示意圖。圖34為本發(fā)明實施例之二的步驟402的從基準文字行中挑選的用于抹黑的連通 域的示意圖。圖35為本發(fā)明實施例之二的步驟40中的子步驟的結果。圖36為本發(fā)明實施例之二的步驟406的基準文字行的初始抹黑圖像的示意圖。圖37為本發(fā)明實施例之二的步驟406的去掉不平滑凹陷或凸起后的基準文字行 的抹黑圖像的示意圖。圖38為本發(fā)明實施例之二的步驟501的基準文字行抹黑圖像的采樣結果示意圖。圖39本發(fā)明實施例之二的步驟502的基準文字行抹黑圖像的二次采樣結果示意 圖。圖40本發(fā)明實施例之二的步驟503的校正曲線示意圖。圖41本發(fā)明實施例之二的校正結果圖像。
具體實施例方式為了能更清楚地理解本發(fā)明的技術內(nèi)容,特舉以下兩個實施例詳細說明。實施例之一
本發(fā)明公開了一種文字行幾何畸變校正方法和裝置。首先獲取二值圖像中的文字行并 從中選出作為校正基準的文字行,然后判斷基準文字行的字塊類型,再根據(jù)字塊類型利用 分段游程抹黑算法抹黑基準文字行圖像,接下來對抹黑圖像采樣并根據(jù)采樣點集計算校正 曲線,最后在畸變圖像中沿校正曲線的法線方向采樣作為校正后圖像的像素列,從而完成 對文字行幾何畸變圖像的校正。如圖1所示,提供掃描筆獲取的字塊類型為方塊字的二值圖像為第一實施例,圖2 所示為實施例的流程圖,具體處理步驟如下
步驟10,對二值圖像中的各文字行進行提取。本實施例中采用了一種自底向上的文字 行提取方法,如圖3所示,具體步驟如下
步驟101,對二值圖像中的各連通域進行統(tǒng)計,根據(jù)得到的字符寬度和字符高度對各連 通域進行合并,得到第一尺度塊。在本實施例中,采用8-連通域標記,標記結果如圖4所示。計算各連通域的寬度并從小到大排序,從最大寬度值開始依次累加各個寬度值對應的連通 域的個數(shù),當累加個數(shù)大于等于連通域總個數(shù)的十分之一時停止累加,取此時對應的連通 域的寬度值為字符寬度;計算各連通域的高度并從小到大排序,從最大高度值開始依次累 加各個高度值對應的連通域的個數(shù),當累加個數(shù)大于等于連通域總個數(shù)的十分之一時停止 累加,取此時對應的連通域的高度值為字符高度。在本實施例中,全景二值圖像的字符寬度 為57,字符高度為60。合并二值圖像中的各連通域得到第一尺度塊,第一尺度塊由符合一定條件的相包 含或相交或相鄰的連通域構成。對于各連通域中一個連通域包含另一個連通域的情況,如 果較大連通域的寬度小于等于字符寬度的1. 5倍,即85,并且較大連通域的高度小于等于 字符高度的1. 5倍,即90,則將兩相包含的連通域進行合并。對于被合并的兩個連通域不 再參與后續(xù)合并,合并得到的結果連通域作為一個新連通域繼續(xù)參與合并。對于相交的連 通域,如果合并后的連通域的寬度小于等于字符寬度的1. 5倍,即85,并且結果合并后的連 通域的高度小于等于字符高度的1. 5倍,即90,則將兩相交的連通域進行合并,對于被合 并的兩個連通域不再參與后續(xù)合并,合并得到的結果連通域作為一個新連通域繼續(xù)參與合 并。對于左右相鄰且豎直方向有交疊的連通域,如果合并后的連通域的寬度小于等于字符 寬度的四分之五,即71,并且高度小于等于字符高度的五分之六,即72,則將兩左右相鄰且 豎直方向有交疊的連通域進行合并,對于被合并的兩個連通域不再參與后續(xù)合并,合并得 到的結果連通域作為一個新連通域繼續(xù)參與合并。對于上下相鄰且水平方向有交疊的連通 域,如果合并后的連通域的寬度小于等于字符寬度的四分之五,即71,并且高度小于等于字 符高度的五分之六,即72,則將兩上下相鄰且水平方向有交疊的連通域進行合并,對于被合 并的兩個連通域不再參與后續(xù)合并,合并得到的結果連通域作為一個新連通域繼續(xù)參與合 并。上述合并結束后,尚未參與合并的連通域及合并的結果連通域為第一尺度塊。本實施 例中,經(jīng)過合并后,得到的第一尺度塊如圖5所示。步驟102,將大于字符高度二分之一的第一尺度塊進行排序,得到各第一尺度塊間 的參考水平間距,根據(jù)參考水平間距將各第一尺度塊進行合并得到第二尺度塊。由于本實 施例中較小的第一尺度塊會干擾后面的合并,則需去除較小的第一尺度塊。此處較小的第 一尺度塊為高度小于等于30的第一尺度塊。本實施例中,去掉較小的第一尺度塊后,剩余 的第一尺度塊如圖6所示。合并第一尺度塊后得到第二尺度塊。第二尺度塊由一個或多個滿足一定條件的第 一尺度塊組成,構成第二尺度塊的每個第一尺度塊稱為這個第二尺度塊的子塊。將所有的 第一尺度塊按照從左到右的順序進行排序,計算第一尺度塊間的參考水平間距,根據(jù)參考 水平間距進行合并。計算第一尺度塊間的參考水平間距的具體方法為從第一個第一尺度塊開始遍歷 所有的第一尺度塊,對于當前第一尺度塊,找出位于其右側(cè)的與其在豎直方向有交疊且水 平方向距離最近的第一尺度塊,將二者之間的水平方向距離作為當前第一尺度塊的水平間 距,水平間距用其右側(cè)第一尺度塊的左側(cè)坐標值減去當前第一尺度塊的右側(cè)坐標值表示, 取所有這些水平間距值的中值作為參考水平間距,本實施例中,計算得到的第一尺度塊間 的參考水平間距為7。合并第一尺度塊以得到第二尺度塊的具體方法是從第一個第一尺度塊開始依次
8遍歷所有的第一尺度塊,如果當前第一尺度塊已經(jīng)屬于某個第二尺度塊,則跳過該第一尺 度塊,否則創(chuàng)建一個新的第二尺度塊并將當前第一尺度塊添加到該第二尺度塊中,然后將 滿足一定條件的第一尺度塊都合并到該第二尺度塊中。對于一個新建的第二尺度塊,以第 二尺度塊中的第一個子塊為當前子塊,搜索能夠合并到該第二尺度塊的第一尺度塊,能夠 合并到該第二尺度塊的第一尺度塊需要滿足如下條件
1)尚未合并到任何第二尺度塊;
2)位于當前子塊右側(cè);
3)與當前子塊的水平方向距離小于等于2倍的參考水平間距,即14;
4)與當前子塊在豎直方向有交疊且交疊高度大于等于當前子塊高度與該第一尺度塊 高度中較小者的三分之一。如果不存在滿足條件1)、2)、3)、4)的第一尺度塊,則該第二尺度塊結束合并;如 果滿足條件1)、2)、3)、4)的第一尺度塊只有一個,則將這一個合并,合并后將新加入的第 一尺度塊作為當前子塊繼續(xù)進行搜索合并;如果滿足條件1)、2)、3)、4)的第一尺度塊有多 個,則只取豎直方向交疊最大的一個合并,合并后將新加入的第一尺度塊作為當前子塊繼 續(xù)進行搜索合并。本實施例中,得到的第二尺度塊的示意圖如圖7所示,其中黑框表示各第 一尺度塊,屬于同一第二尺度塊的第一尺度塊用線段連接。步驟103,將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平 間距,根據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊。第三尺度塊由一 個或多個滿足一定條件的第二尺度塊的所有子塊組成,即第三尺度塊也是由第一尺度塊組 成,它與第二尺度塊的區(qū)別在于尺度大小不同。將所有的第二尺度塊按照從左到右的順序 進行排序,計算第二尺度塊間的第二參考水平間距后進行合并。計算第二尺度塊間的第二參考水平間距的具體方法為從第一個第二尺度塊開 始,依次遍歷所有的第二尺度塊,對于當前第二尺度塊,找出位于其右側(cè)的、與其在豎直方 向有交疊且水平方向距離最近的第二尺度塊,將二者之間的水平方向距離作為當前第二尺 度塊的水平間距,取各第二尺度塊對應的水平間距值的中值作為第二參考水平間距,其中, 豎直方向有交疊為兩個第二尺度塊的相鄰的兩個子塊在豎直方向存在交疊,水平方向距離 為當前第二尺度塊右側(cè)的第二尺度塊的左坐標值減去當前第二尺度塊的右坐標值。本實施 例中,各第二尺度塊對應的第二參考水平間距為39。將各第二尺度塊進行合并得到第三尺度塊的具體方法是從第一個第二尺度塊開 始,依次遍歷所有的第二尺度塊,如果當前第二尺度塊已經(jīng)屬于某個第三尺度塊,則跳過該 第二尺度塊,否則創(chuàng)建一個新的第三尺度塊并將當前第二尺度塊的子塊都添加到該第三尺 度塊中,然后將所有滿足一定條件的第二尺度塊的子塊都合并到該第三尺度塊中。對于一 個新建的第三尺度塊,以其最右側(cè)的第一尺度塊為當前子塊,搜索能夠合并到該第三尺度 塊的第二尺度塊,能夠合并到該第三尺度塊的第二尺度塊需要滿足如下條件
1)尚未合并到任何第三尺度塊;
2)位于當前子塊右側(cè);
3)與當前子塊的水平方向距離小于等于2倍的第二參考水平間距,即78;
4)其最左側(cè)子塊與當前子塊在豎直方向有交疊;
如果不存在滿足條件1)、2)、3)、4)的第二尺度塊,則該第三尺度塊結束合并;如果滿足條件1)、2)、3)、4)的第二尺度塊只有一個,則將其子塊合并到該第三尺度塊中,并將合 并后的第三尺度塊的最右側(cè)的第一尺度塊作為當前子塊繼續(xù)進行搜索合并;如果滿足條件 1)、2)、3)、4)的第二尺度塊有多個,則只將豎直方向交疊高度最大者的子塊合并到該第三 尺度塊中,并將合并后的第三尺度塊的最右側(cè)的第一尺度塊作為當前子塊繼續(xù)進行搜索合 并。本實施例中,得到的第三尺度塊的示意圖如圖8所示,其中黑框表示每個第一尺度塊, 屬于同一第三尺度塊的第一尺度塊用線段相連。步驟104,將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù)目 的第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。文字行由滿足一定條 件的第三尺度塊的所有子塊構成,即文字行也是由第一尺度塊構成,它與第三尺度塊的區(qū) 別在于尺度不同。將所有的第三尺度塊按照從左到右的順序進行排序,計算含有三個及三 個以上第一尺度塊的第三尺度塊的左右兩端的延長線后進行合并。對于含有三個及三個以 上第一尺度塊的第三尺度塊,其左端延長線由位于其最左側(cè)的三個第一尺度塊計算得到, 其右端延長線由位于其最右側(cè)的三個第一尺度塊計算得到,延長線可以通過提取三個第一 尺度塊的中心點坐標并用最小二乘法擬合得到。合并第三尺度塊以得到文字行的具體方法是從第一個第三尺度塊開始,依次遍 歷所有含有三個及三個以上第一尺度塊的第三尺度塊,如果當前第三尺度塊已經(jīng)屬于某個 文字行,則跳過該第三尺度塊,否則創(chuàng)建一個新的文字行并將當前第三尺度塊的子塊都添 加到該文字行中,以當前第三尺度塊的左右兩端延長線作為文字行左右兩端延長線,然后 將所有滿足一定條件的第三尺度塊的第一尺度塊都合并到該文字行中。對于一個新建的文 字行,分別搜索位于當前文字行左右兩側(cè)的能夠合并到當前文字行的第三尺度塊。對于位于當前文字行左側(cè)的第三尺度塊,合并條件如下 1)尚未合并到任何文字行;
2)文字行左端延長線穿過當前第三尺度塊的最右側(cè)的第一尺度塊; 如果不存在滿足條件1)、2)的第三尺度塊,則該文字行結束合并;如果找到一個滿足 條件1)、2)的第三尺度塊,則將該第三尺度塊中的第一尺度塊合并到該文字行中。如果該 第三尺度塊有左端延長線,則將其作為合并后的文字行的左端延長線,否則取合并后的文 字行的最左側(cè)的三個第一尺度塊重新計算左端延長線,并以合并后的文字行繼續(xù)向左進行 搜索合并。對于位于當前文字行右側(cè)的第三尺度塊,合并條件如下
1)尚未合并到任何文字行;
2)文字行右端延長線穿過當前第三尺度塊的最左側(cè)的第一尺度塊;
如果不存在滿足條件1)、2)的第三尺度塊,則該文字行結束合并;如果找到一個滿足 條件1)、2)的第三尺度塊,則將該第三尺度塊中的第一尺度塊合并到該文字行中,如果該第 三尺度塊有右端延長線,則將其作為合并后的文字行的右端延長線,否則取合并后的文字 行的最右側(cè)的三個第一尺度塊重新計算右端延長線,并以合并后的文字行繼續(xù)向右進行搜 索合并。本實施例中,得到的文字行的示意圖如圖9所示,其中黑框表示每個第一尺度塊, 屬于同一文字行的第一尺度塊用線段相連。經(jīng)過上述處理,得到二值圖像中的文字行。注意,由于此處得到的文字行是為了提 取完畢后進而進行校正,所以得到的文字行不必包含圖像中的所有筆畫。
步驟20,根據(jù)提取到的各文字行進行選取,選取基準文字行。本實施例的二值圖像 通過掃描筆拼接獲取,所述二值圖像掃描軌跡線,由參與拼接的各幀圖像的中心點通過線 段連接形成。對于掃描筆來說,待識別的目標文字行一般位于圖像中間位置,則本實施例中 選取圖像中部的文字行為基準文字行。具體來說,如果二值圖像中只有一行文字,則該行文 字就是基準文字行;如果二值圖像中有兩個及兩個以上的文字行,則計算各行中的每個第 一尺度塊的中心與二值圖像掃描軌跡線的距離平均值,如果某行的距離平均值小于其他行 的距離平均值5個像素點以上,則該行就是基準文字行,否則取各第一尺度塊的中心與軌 跡線的距離平均值最小的兩文字行中的長度較長者為二值圖像的基準文字行。如圖10所 示,為本實施例中的基準文字行,黑框表示各第一尺度塊。步驟30,判斷基準文字行中的字塊類型,根據(jù)字塊類型分段抹黑基準文字行。根據(jù)字符的幾何結構而言將字符類型分為方塊字和非方塊字兩類,中文、日文、韓 文等字符屬于方塊字,英文、德文、阿拉伯文等字符屬于非方塊字。為了獲取準確的校正曲 線需對文字行進行字塊類型的劃分,理想中的校正曲線對應于畸變前的圖像中的一條水平 線,如果用于計算校正曲線的采樣點來自于畸變前圖像中的一條水平線上,則得到的校正 曲線會更準確。對于方塊字和非方塊字來說,這條對齊線的位置和計算方法是不一樣的,具 體來說,方塊字取文字行的中線作為對齊線,非方塊字取文字行的基線作為對齊線。由于方塊字(如中文、日文等)的特點,在方塊字的抹黑圖像的上下邊緣不存在凸 起,而在非方塊字(如英文、拉丁文等)的抹黑圖像的上下邊緣存在凸起,則通過統(tǒng)計抹黑圖 像中上下邊緣的凸起數(shù)目可以判斷基準文字行中的字塊類型,如圖11所示,具體包括如下 步驟
步驟301,將基準文字行圖像進行分段,并對得到的各圖像段進行傾斜校正?;鶞饰?字行由第一尺度塊構成,將這些第一尺度塊按照從左到右的順序排序,按第二既定數(shù)目的 第一尺度塊將基準文字行進行分段,各圖像段之間重疊第三既定數(shù)目的第一尺度塊。本實 施例中,每5個第一尺度塊分為一圖像段,圖像段之間重疊2個第一尺度塊,如果總的第一 尺度塊數(shù)目小于等于5,則只分為一圖像段,如果總的第一尺度塊數(shù)目大于5,若不能正好 分為整數(shù)個圖像段,則最后一圖像段由從最右端的第一尺度塊起向左計5個第一尺度塊構 成。本實施例中,第一尺度塊總數(shù)為觀,共分為9個圖像段。分段后利用每圖像段中的各第 一尺度塊的中心點通過最小二乘法計算得到每一圖像段的傾斜角度,各圖像段的傾斜角度 如圖12中“傾斜角度”一欄所示。得到各圖像段的傾斜角度后,各圖像段根據(jù)各自的傾斜 角度進行傾斜校正,傾斜校正后的各圖像段如圖12中“傾斜校正后的圖像段”一欄所示。步驟302,計算傾斜校正后得到的各圖像段中的水平游程抹黑閾值。對某個傾斜校 正后的段圖像,計算各行中的所有白游程的長度,白游程即位于兩個黑像素間的由連續(xù)白 像素點構成的像素線段,將這些白游程長度從小到大排序,從最大長度值開始,依次累加各 個長度值對應的白游程的個數(shù),當累加個數(shù)大于等于白游程總數(shù)的五分之一時停止累加, 取此時的長度值為該圖像段的水平游程抹黑閾值。本實施例中,得到的各圖像段的水平游 程抹黑閾值如圖12中“水平游程抹黑閾值”一欄所示。步驟303,根據(jù)水平游程抹黑閾值抹黑傾斜校正后的各圖像段。所述游程抹黑,即 將長度小于一定閾值的白游程的像素點置為黑色,分為行游程抹黑和列游程抹黑。對于傾 斜校正后的各圖像段中的各行,將其中長度小于該段圖像水平游程抹黑閾值的3倍的白游
11程的像素點置黑;對于傾斜校正后的各圖像段中的各列,將其中所有的白游程的像素點都 置黑。本實施例中,傾斜校正后的各圖像段的抹黑圖像如圖12中“抹黑后的段圖像”一欄 所示。步驟304,統(tǒng)計得到的抹黑后各圖像段的上下邊緣的凸起數(shù)目。首先計算各抹黑后 圖像段的公共參考高度,方法為計算每段圖像中各列像素的黑游程長度,取所有這些長度 的中值作為公共參考高度,本實施例中,公共參考高度為56。然后計算各段抹黑圖像的上 基線和下基線,從某段抹黑圖像的最上一像素行開始依次向下,第一個含有黑像素數(shù)目超 過該段抹黑圖像的寬度的二分之一的像素行為上基線;從某段抹黑圖像的最下一像素行開 始依次向上,第一個含有黑像素數(shù)目超過該段抹黑圖像的寬度的二分之一的像素行為下基 線。最后統(tǒng)計抹黑后各圖像段的上下邊緣的凸起數(shù)目,上凸起為位于上基線之上的大于一 定寬度和高度的黑像素塊,下凸起為位于下基線之下的大于一定寬度和高度的黑像素塊, 寬度的閾值為4,高度閾值為抹黑后對應的各圖像段的公共參考高度的四分之一,即14。各 圖像段中的上下凸起的數(shù)目如圖12中“上凸起數(shù)目,,和“下凸起數(shù)目,,兩欄所示。步驟305,根據(jù)凸起數(shù)目判斷基準文字行中的字塊類型。如果各段抹黑圖像中的凸 起數(shù)目大于等于基準文字行中各圖像段數(shù)目的二分之一,則字塊類型為非方塊字,否則,字 塊類型為方塊字。將各段抹黑圖像中的上下凸起的數(shù)目加和,如果凸起總數(shù)大于等于各圖 像段數(shù)目的二分之一,則文字行中的字塊類型為非方塊字,否則,文字行中的字塊類型為方 塊字。本實施例中,上凸起和下凸起的總數(shù)目為1,總段數(shù)為9,所以基準文字行的字塊類型 判斷為方塊字。本實施例中的字塊類型判斷為方塊字。游程抹黑對水平文字行具有良好的抹黑效 果,但是對于存在幾何畸變的文字行抹黑效果差。分段游程抹黑是游程抹黑的一種精細化 變形,認為每一段圖像中的文字處于一條直線上,首先對文字行中的幾何畸變圖像進行分 段,再通過傾斜校正將每一段圖像中的文字校正到一條水平直線上,然后對校正后的每一 段圖像進行游程抹黑,最后利用抹黑后各圖像段生成整個文字行的抹黑圖像。根據(jù)字塊類 型分段抹黑基準文字行時,如圖13所示,具體包括如下步驟
步驟311 根據(jù)字塊類型合并基準文字行的連通域?;鶞饰淖中杏傻谝怀叨葔K構成,第 一尺度塊由各連通域構成,故基準文字行由連通域構成,根據(jù)字塊類型對這些連通域重新 進行合并。如果字塊類型為方塊字,將水平方向上具有小于等于字符寬度的四分之一的交 疊,且合并后的寬度小于等于字符寬度的五分之六的兩相鄰連通域進行合并,直至所有連 通域合并完畢;如果字塊類型為非方塊字,去掉寬度和高度均小于字符高度的三分之一的 連通域,且合并后的寬度小于等于字符寬度的五分之六的兩相鄰連通域進行合并,直至所 有連通域合并完畢。將所有的連通域從左到右進行排序,對于滿足條件
1)兩個連通域左右相鄰;
2)將水平方向上具有小于等于字符寬度的四分之一的交疊,則右側(cè)連通域的左端坐標 值減去左側(cè)連通域的右側(cè)坐標值的結果小于等于字符寬度57的四分之一;
3)兩個連通域合并后的寬度小于等于字符寬度57的五分之六的連通域進行合并,合 并后的結果連通域作為一個新連通域繼續(xù)參與合并,直到任何兩個連通域都不能再合并為 止。合并后的連通域如圖14所示,挑選用于抹黑的連通域。步驟311后還包括對于字塊類型為方塊字的文字行,去掉高度小于高度中值的五分之四的連通域;對于字塊類型為非方塊字的文字行,去掉高度小于高度中值的五分之四 和高度大于高度中值的七分之八的連通域。本實施例中,先計算所有連通域的高度的中值 為60,然后去掉高度中值的五分之四,即48的連通域。本實施例中,沒有過矮的連通域。步驟312 對得到的連通域進行分段傾斜校正,根據(jù)各圖像段中各第一尺度塊的 中心點經(jīng)最小二乘法計算得到各段的傾斜角度后進行傾斜校正,根據(jù)傾斜校正后的各圖像 段的水平游程抹黑閾值抹黑傾斜校正后的各段抹黑圖像。每3個連通域分為一段,段與段 之間重疊1個連通域,如果總的連通域數(shù)目小于等于3,則只分為一段,如果總的連通域數(shù) 目大于3,若不能正好分為整數(shù)段,則只取前面的整段,本實施例中共有觀個連通域,分為 13段。分段后用每段中的各連通域的中心點通過最小二乘法分別計算得到每一段的傾斜角 度。各圖像段的傾斜角度如圖15中“傾斜角度”一欄所示,得到各段的傾斜角度后,各圖像 段根據(jù)各自的傾斜角度進行傾斜校正,傾斜校正后的各圖像段如圖15中“傾斜校正后的段 圖像”一欄所示。計算傾斜校正后的各圖像段的水平游程抹黑閾值。對某個傾斜校正后的段圖像, 計算各行中的所有白游程的長度并將這些白游程長度從小到大排序,從最大長度值開始, 依次累加各個長度值對應的白游程的個數(shù),當累加個數(shù)大于等于白游程總個數(shù)的五分之一 時停止累加,取此時的長度值為該段圖像的水平游程抹黑閾值。傾斜校正后的段圖像的水 平游程抹黑閾值如圖15中“水平游程抹黑閾值”一欄所示。根據(jù)傾斜校正后的各圖像段的水平游程抹黑閾值抹黑傾斜校正后的各段抹黑圖 像。抹黑就是對于傾斜校正后的各圖像段中的各行和各列像素,將其中所有白游程的像素 點都置黑,傾斜校正后的段圖像的抹黑結果如圖15中“抹黑后的段圖像”一欄所示。去掉 上下凸起就是計算抹黑部分的上邊緣線和下邊緣線,然后將上邊緣線上方的黑像素點和下 邊緣線下方的黑像素點置白。上邊緣線和下邊緣線都是直線,分別由上邊緣點和下邊緣點 擬合得到,根據(jù)各段抹黑圖像中的各列像素最上黑像素點的位置和最下黑像素點的位置及 二者之間的高度進行平滑,將平滑后頻率最高的高度值作為參考高度,然后將與參考高度 絕對差值不超過2的所有像素列的最上黑像素點作為上邊緣點,最下黑像素點作為下邊緣 點。抹黑段圖像去掉上下凸起后的結果如圖15中“去掉上下凸起后的抹黑段圖像”一欄所
7J\ ο步驟313 由各段抹黑圖像生成基準文字行抹黑圖像。將各段抹黑圖像根據(jù)其各 自的傾斜角度回填到在基準文字行原位置處,這樣就得到了基準文字行的初始抹黑圖像, 如圖16所示。在初始抹黑圖像中,段與段的交疊位置處可能會存在不光滑的凹陷或凸起, 需要進行平滑處理。段與段之間的重疊部分的準確位置可以知道,對每個重疊區(qū)域左側(cè)20 個下邊緣點和右側(cè)20個下邊緣點利用最小二乘法計算下邊緣線,對每個重疊區(qū)域左側(cè)20 個上邊緣點和右側(cè)20個上邊緣點利用最小二乘法計算上邊緣線,上邊緣點即一列中最上 一個黑像素點,下邊緣點即一列中最下一個黑像素點。在重疊區(qū)域內(nèi),基準文字行初始抹黑 圖像下邊緣點與下邊緣線之間的部分置黑,下邊緣線下方的部分置白,上邊緣點與上邊緣 線之間的部分置黑,上邊緣線上方的部分置白。處理完后,得到基準文字行的抹黑圖像,如 圖17所示。步驟40 將抹黑后的基準文字行進行采樣后擬合出校正曲線,并根據(jù)校正曲線校 正二值圖像。
13
得到校正曲線之后,如果采用圖像錯切的方法對圖像進行校正,則只能對校正曲 線為直線的樣本有較好的校正結果,對于校正曲線為非直線的情況校正效果差。采用在畸 變圖像中沿校正曲線的法線方向采樣作為校正后圖像的像素列的方法,對各種情況下的校 正曲線都有好的校正結果,將抹黑后的基準文字行進行采樣后擬合出校正曲線,如圖18所 示,包括如下步驟。步驟401 根據(jù)字塊類型對基準文字行抹黑圖像進行采樣。對于字塊類型為方塊 字的基準文字行,對基準文字行的各像素列中最上黑像素點和最下黑像素點的中點構成的 連線進行等間距采樣;對于字塊類型為非方塊字的基準文字行,對基準文字行中各像素列 中最下黑像素點構成的連線進行等間距采樣。本實施例中對抹黑圖像的中線進行等間距采樣,中線是指各列中最上黑像素點和 最下黑像素點的中點構成的線,采樣間距為16,采樣結果如圖19中的白點所示。步驟402 平滑采樣得到的各采樣點并進行二次采樣,根據(jù)二次采樣點擬合校正 曲線。對上述等間距采樣點采用5X1的窗口進行均值平滑,然后對平滑后的采樣點再進行 等間距的二次采樣,每隔4個采樣點取一個點。二次采樣后得到的各采樣點如圖20中的白 點所示。根據(jù)二次采樣點計算校正曲線,采用三次樣條插值擬合校正曲線。校正曲線如圖 21中的白色曲線所示。在畸變圖像中沿校正曲線的法線方向逐像素間隔采樣,將采樣結果作為校正后圖 像的像素列,如圖22所示,對應在校正后圖像中的像素列如右側(cè)圖像中的灰線所示。如圖 23所示,為本實施例的校正結果。實施例之二
如圖M所示,提供掃描筆獲取的字塊類型為非方塊字的二值圖像為第二實施例,圖1 所示為實施例的流程圖,具體處理步驟如下
步驟10,提取二值圖像中的文字行。本實施例中采用了一種自底向下的文字行提取方 法,具體步驟如下
步驟101,對二值圖像中的各連通域進行統(tǒng)計,根據(jù)得到的字符寬度和字符高度對各連 通域進行合并,得到第一尺度塊。在本實施例中,采用8-連通域標記,標記結果如圖25所 示。計算各連通域的寬度并從小到大排序,從最大寬度值開始依次累加各個寬度值對應的 連通域的個數(shù),當累加個數(shù)大于等于連通域總個數(shù)的十分之一時停止累加,取此時對應的 連通域的寬度值為字符寬度;計算各連通域的高度并從小到大排序,從最大高度值開始依 次累加各個高度值對應的連通域的個數(shù),當累加個數(shù)大于等于連通域總個數(shù)的十分之一時 停止累加,取此時對應的連通域的高度值為字符高度。在本實施例中,全景二值圖像的字符 寬度為36,字符高度為45。合并二值圖像中的各連通域得到第一尺度塊,第一尺度塊由符合一定條件的相包 含或相交或相鄰的連通域構成。對于各連通域中一個連通域包含另一個連通域的情況,如 果較大連通域的寬度小于等于字符寬度的1. 5倍,即54,并且較大連通域的高度小于等于 字符高度的1. 5倍,即67,則將兩相包含的連通域進行合并。對于被合并的兩個連通域不 再參與后續(xù)合并,合并得到的結果連通域作為一個新連通域繼續(xù)參與合并。對于相交的連 通域,如果合并后的連通域的寬度小于等于字符寬度的1. 5倍,即54,并且結果合并后的連 通域的高度小于等于字符高度的1. 5倍,即67,則將兩相交的連通域進行合并,對于被合并的兩個連通域不再參與后續(xù)合并,合并得到的結果連通域作為一個新連通域繼續(xù)參與合 并。對于左右相鄰且豎直方向有交疊的連通域,如果合并后的連通域的寬度小于等于字符 寬度的四分之五,即45,并且高度小于等于字符高度的五分之六,即54,則將兩左右相鄰且 豎直方向有交疊的連通域進行合并,對于被合并的兩個連通域不再參與后續(xù)合并,合并得 到的結果連通域作為一個新連通域繼續(xù)參與合并。對于上下相鄰且水平方向有交疊的連通 域,如果合并后的連通域的寬度小于等于字符寬度的四分之五,即71,并且高度小于等于字 符高度的五分之六,即45,則將兩上下相鄰且水平方向有交疊的連通域進行合并,對于被合 并的兩個連通域不再參與后續(xù)合并,合并得到的結果連通域作為一個新連通域繼續(xù)參與合 并。上述合并結束后,尚未參與合并的連通域及合并的結果連通域為第一尺度塊。本實施 例中,經(jīng)過合并后,得到的第一尺度塊如圖沈所示。步驟102,將大于字符高度二分之一的第一尺度塊進行排序,得到各第一尺度塊間 的參考水平間距,根據(jù)參考水平間距將各第一尺度塊進行合并得到第二尺度塊。由于本實 施例中較小的第一尺度塊會干擾后面的合并,則需去除較小的第一尺度塊較小的第一尺度 塊。此處較小的第一尺度塊為高度小于等于30的第一尺度塊。本實施例中,去掉較小的第 一尺度塊后,剩余的第一尺度塊如圖27所示。合并第一尺度塊得到第二尺度塊。第二尺度塊由一個或多個滿足一定條件的第一 尺度塊組成,構成第二尺度塊的每個第一尺度塊稱為這個第二尺度塊的子塊。將所有的第 一尺度塊按照從左到右的順序進行排序,計算第一尺度塊間的參考水平間距,根據(jù)參考水 平間距進行合并。計算第一尺度塊間的參考水平間距的具體方法為從第一個第一尺度塊開始遍歷 所有的第一尺度塊,對于當前第一尺度塊,找出位于其右側(cè)的與其在豎直方向有交疊且水 平方向距離最近的第一尺度塊,將二者之間的水平方向距離作為當前第一尺度塊的水平間 距,水平間距用其右側(cè)第一尺度塊的左側(cè)坐標值減去當前第一尺度塊的右側(cè)坐標值表示, 取所有這些水平間距值的中值作為參考水平間距,本實施例中,計算得到的第一尺度塊間 的參考水平間距為4。合并第一尺度塊以得到第二尺度塊的具體方法是從第一個第一尺度塊開始依次 遍歷所有的第一尺度塊,如果當前第一尺度塊已經(jīng)屬于某個第二尺度塊,則跳過該第一尺 度塊,否則創(chuàng)建一個新的第二尺度塊并將當前第一尺度塊添加到該第二尺度塊中,然后將 滿足一定條件的第一尺度塊都合并到該第二尺度塊中。對于一個新建的第二尺度塊,以第 二尺度塊中的第一個子塊為當前子塊,搜索能夠合并到該第二尺度塊的第一尺度塊,能夠 合并到該第二尺度塊的第一尺度塊需要滿足如下條件
1)尚未合并到任何第二尺度塊;
2)位于當前子塊右側(cè);
3)與當前子塊的水平方向距離小于等于2倍的參考水平間距,即8;
4)與當前子塊在豎直方向有交疊且交疊高度大于等于當前子塊高度與該第一尺度塊 高度中較小者的三分之一。如果不存在滿足條件1)、2)、3)、4)的第一尺度塊,則該第二尺度塊結束合并;如 果滿足條件1)、2)、3)、4)的第一尺度塊只有一個,則將這一個合并,合并后將新加入的第 一尺度塊作為當前子塊繼續(xù)進行搜索合并;如果滿足條件1)、2)、3)、4)的第一尺度塊有多
15個,則只取豎直方向交疊最大的一個合并,合并后將新加入的第一尺度塊作為當前子塊繼 續(xù)進行搜索合并。本實施例中,得到的第二尺度塊的示意圖如圖觀所示,其中黑框表示各 第一尺度塊,屬于同一第二尺度塊的第一尺度塊用直線相連。步驟103,將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平 間距,根據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊。第三尺度塊由一 個或多個滿足一定條件的第二尺度塊的所有子塊組成,即第三尺度塊也是由第一尺度塊組 成,它與第二尺度塊的區(qū)別在于尺度大小不同。將所有的第二尺度塊按照從左到右的順序 進行排序,計算第二尺度塊間的第二參考水平間距后進行合并。計算第二尺度塊間的第二參考水平間距的具體方法為從第一個第二尺度塊開 始,依次遍歷所有的第二尺度塊,對于當前第二尺度塊,找出位于其右側(cè)的、與其在豎直方 向有交疊且水平方向距離最近的第二尺度塊,將二者之間的水平方向距離作為當前第二尺 度塊的水平間距,取各第二尺度塊對應的水平間距值的中值作為第二參考水平間距,其中, 豎直方向有交疊為兩個第二尺度塊的相鄰的兩個子塊在豎直方向存在交疊,水平方向距離 為當前第二尺度塊右側(cè)的第二尺度塊的左坐標值減去當前第二尺度塊的右坐標值。本實施 例中,各第二尺度塊對應的第二參考水平間距為21。將各第二尺度塊進行合并得到第三尺度塊的具體方法是從第一個第二尺度塊開 始,依次遍歷所有的第二尺度塊,如果當前第二尺度塊已經(jīng)屬于某個第三尺度塊,則跳過該 第二尺度塊,否則創(chuàng)建一個新的第三尺度塊并將當前第二尺度塊的子塊都添加到該第三尺 度塊中,然后將所有滿足一定條件的第二尺度塊的子塊都合并到該第三尺度塊中。對于一 個新建的第三尺度塊,以其最右側(cè)的第一尺度塊為當前子塊,搜索能夠合并到該第三尺度 塊的第二尺度塊,能夠合并到該第三尺度塊的第二尺度塊需要滿足如下條件
1)尚未合并到任何第三尺度塊;
2)位于當前子塊右側(cè);
3)與當前子塊的水平方向距離小于等于2倍的第二參考水平間距,即42;
4)其最左側(cè)子塊與當前子塊在豎直方向有交疊;
如果不存在滿足條件1)、2)、3)、4)的第二尺度塊,則該第三尺度塊結束合并;如果滿 足條件1)、2)、3)、4)的第二尺度塊只有一個,則將其子塊合并到該第三尺度塊中,并將合 并后的第三尺度塊的最右側(cè)的第一尺度塊作為當前子塊繼續(xù)進行搜索合并;如果滿足條件 1)、2)、3)、4)的第二尺度塊有多個,則只將豎直方向交疊高度最大者的子塊合并到該第三 尺度塊中,并將合并后的第三尺度塊的最右側(cè)的第一尺度塊作為當前子塊繼續(xù)進行搜索合 并。本實施例中,得到的第三尺度塊的示意圖如圖四所示,其中黑框表示每個第一尺度塊, 屬于同一第三尺度塊的第一尺度塊用線段相連。步驟104,將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù)目 的第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。文字行由滿足一定條 件的第三尺度塊的所有子塊構成,即文字行也是由第一尺度塊構成,它與第三尺度塊的區(qū) 別在于尺度不同。將所有的第三尺度塊按照從左到右的順序進行排序,計算含有三個及三 個以上第一尺度塊的第三尺度塊的左右兩端的延長線后進行合并。對于含有三個及三個以 上第一尺度塊的第三尺度塊,其左端延長線由位于其最左側(cè)的三個第一尺度塊計算得到, 其右端延長線由位于其最右側(cè)的三個第一尺度塊計算得到,延長線可以通過提取三個第一尺度塊的中心點坐標并用最小二乘法擬合得到。合并第三尺度塊以得到文字行的具體方法是從第一個第三尺度塊開始,依次遍 歷所有含有三個及三個以上第一尺度塊的第三尺度塊,如果當前第三尺度塊已經(jīng)屬于某個 文字行,則跳過該第三尺度塊,否則創(chuàng)建一個新的文字行并將當前第三尺度塊的子塊都添 加到該文字行中,以當前第三尺度塊的左右兩端延長線作為文字行左右兩端延長線,然后 將所有滿足一定條件的第三尺度塊的第一尺度塊都合并到該文字行中。對于一個新建的文 字行,分別搜索位于當前文字行左右兩側(cè)的能夠合并到當前文字行的第三尺度塊。對于位于當前文字行左側(cè)的第三尺度塊,合并條件如下 1)尚未合并到任何文字行;
2)文字行左端延長線穿過當前第三尺度塊的最右側(cè)的第一尺度塊; 如果不存在滿足條件1)、2)的第三尺度塊,則該文字行結束合并;如果找到一個滿足 條件1)、2)的第三尺度塊,則將該第三尺度塊中的第一尺度塊合并到該文字行中。如果該 第三尺度塊有左端延長線,則將其作為合并后的文字行的左端延長線,否則取合并后的文 字行的最左側(cè)的三個第一尺度塊重新計算左端延長線,并以合并后的文字行繼續(xù)向左進行 搜索合并。對于位于當前文字行右側(cè)的第三尺度塊,合并條件如下
1)尚未合并到任何文字行;
2)文字行右端延長線穿過當前第三尺度塊的最左側(cè)的第一尺度塊;
如果不存在滿足條件1)、2)的第三尺度塊,則該文字行結束合并;如果找到一個滿足 條件1)、2)的第三尺度塊,則將該第三尺度塊中的第一尺度塊合并到該文字行中,如果該第 三尺度塊有右端延長線,則將其作為合并后的文字行的右端延長線,否則取合并后的文字 行的最右側(cè)的三個第一尺度塊重新計算右端延長線,并以合并后的文字行繼續(xù)向右進行搜 索合并。本實施例中,得到的文字行的示意圖如圖30所示,其中黑框表示每個第一尺度塊, 屬于同一文字行的第一尺度塊用線段相連。經(jīng)過上述處理,得到二值圖像中的文字行。注意,由于此處得到的文字行是為了提 取完畢后進而進行校正,所以得到的文字行不必包含圖像中的所有筆畫。步驟20,根據(jù)提取到的各文字行進行選取,選取基準文字行。本實施例的二值圖像 通過掃描筆拼接獲取,所述二值圖像掃描軌跡線,由參與拼接的各幀圖像的中心點通過線 段連接形成。對于掃描筆來說,待識別的目標文字行一般位于圖像中間位置,則本實施例中 選取圖像中部的文字行為基準文字行。具體來說,如果二值圖像中只有一行文字,則該行文 字就是基準文字行;如果二值圖像中有兩個及兩個以上的文字行,則計算各行中的每個第 一尺度塊的中心與二值圖像掃描軌跡線的距離平均值,如果某行的距離平均值小于其他行 的距離平均值5個像素點以上,則該行就是基準文字行,否則取各第一尺度塊的中心與軌 跡線的距離平均值最小的兩文字行中的長度較長者為二值圖像的基準文字行。如圖31所 示,為本實施例中的基準文字行,黑框表示各個第一尺度塊。步驟30,判斷基準文字行中的字塊類型,根據(jù)字塊類型分段抹黑基準文字行。根 據(jù)字符的幾何結構而言將字符類型分為方塊字和非方塊字兩類,中文、日文、韓文等字符屬 于方塊字,英文、德文、阿拉伯文等字符屬于非方塊字。為了獲取準確的校正曲線需對文字 行進行字塊類型的劃分,理想中的校正曲線對應于畸變前的圖像中的一條水平線,如果用于計算校正曲線的采樣點來自于畸變前圖像中的一條水平線上,則得到的校正曲線會更準 確。對于方塊字和非方塊字來說,這條對齊線的位置和計算方法是不一樣的,具體來說,方 塊字取文字行的中線或底線作為對齊線,非方塊字取文字行的基線作為對齊線。由于方塊字(如中文、日文等)的特點,在方塊字的抹黑圖像的上下邊緣不存在凸 起,而在非方塊字(如英文、拉丁文等)的抹黑圖像的上下邊緣存在凸起,則通過統(tǒng)計抹黑圖 像中上下邊緣的凸起數(shù)目可以判斷基準文字行中的字塊類型,具體包括如下步驟
步驟301,將基準文字行圖像進行分段,并對得到的各圖像段進行傾斜校正?;鶞饰?字行由第一尺度塊構成,將這些第一尺度塊按照從左到右的順序排序,按第二既定數(shù)目的 第一尺度塊將基準文字行進行分段,各圖像段之間重疊第三既定數(shù)目的第一尺度塊。本實 施例中,每5個第一尺度塊分為一圖像段,圖像段之間重疊2個第一尺度塊,如果總的第一 尺度塊數(shù)目小于等于5,則只分為一圖像段,如果總的第一尺度塊數(shù)目大于5,若不能正好 分為整數(shù)個圖像段,則最后一圖像段由從最右端的第一尺度塊起向左計5個第一尺度塊構 成。本實施例中,第一尺度塊總數(shù)為65,共分為21個圖像段。分段后利用每圖像段中的各 第一尺度塊的中心點通過最小二乘法計算得到每一圖像段的傾斜角度,各圖像段的傾斜角 度如圖32中“傾斜角度”一欄所示。得到各圖像段的傾斜角度后,各圖像段根據(jù)各自的傾 斜角度進行傾斜校正,傾斜校正后的各圖像段如圖32中“傾斜校正后的段圖像”一欄所示。步驟302,計算傾斜校正后得到的各圖像段中的水平游程抹黑閾值。對某個傾斜校 正后的段圖像,計算各行中的所有白游程的長度,白游程即位于兩個黑像素間的由連續(xù)白 像素點構成的像素線段,將這些白游程長度從小到大排序,從最大長度值開始,依次累加各 個長度值對應的白游程的個數(shù),當累加個數(shù)大于等于白游程總數(shù)的五分之一時停止累加, 取此時的長度值為該圖像段的水平游程抹黑閾值。本實施例中,各圖像段的水平游程抹黑 閾值如圖32中“水平游程抹黑閾值” 一欄所示。步驟303,根據(jù)水平游程抹黑閾值抹黑傾斜校正后的各圖像段。所述游程抹黑,即 將長度小于一定閾值的白游程的像素點置為黑色,分為行游程抹黑和列游程抹黑。對于傾 斜校正后的各圖像段中的各行,將其中長度小于該段圖像水平游程抹黑閾值的3倍的白游 程的像素點置黑;對于傾斜校正后的各圖像段中的各列,將其中所有的白游程的像素點都 置黑。本實施例中,傾斜校正后的各圖像段的抹黑圖像如圖32中“抹黑后的段圖像”一欄 所示。步驟304,統(tǒng)計得到的抹黑后各圖像段的上下邊緣的凸起數(shù)目。首先計算各抹黑后 圖像段的公共參考高度,方法為計算每段圖像中各列像素的黑游程長度,取所有這些長度 的中值作為公共參考高度,本實施例中,公共參考高度為56。然后計算各段抹黑圖像的上 基線和下基線,從某段抹黑圖像的最上一像素行開始依次向下,第一個含有黑像素數(shù)目超 過該段抹黑圖像的寬度的二分之一的像素行為上基線;從某段抹黑圖像的最下一像素行開 始依次向上,第一個含有黑像素數(shù)目超過該段抹黑圖像的寬度的二分之一的像素行為下基 線。最后統(tǒng)計抹黑后各圖像段的上下邊緣的凸起數(shù)目,上凸起為位于上基線之上的大于一 定寬度和高度的黑像素塊,下凸起為位于下基線之下的大于一定寬度和高度的黑像素塊, 寬度的閾值為4,高度的閾值為抹黑后對應的各圖像段的公共參考高度的四分之一,即7。 各圖像段中的上下凸起的數(shù)目如圖32中“上凸起數(shù)目,,和“下凸起數(shù)目,,兩欄所示。步驟305,根據(jù)凸起數(shù)目判斷基準文字行中的字塊類型。如果各段抹黑圖像中的凸起數(shù)目大于等于基準文字行中各圖像段數(shù)目的二分之一,則字塊類型為非方塊字,否則,字 塊類型為方塊字。將各段抹黑圖像中的上下凸起的數(shù)目加和,如果凸起總數(shù)大于等于各圖 像段數(shù)目的二分之一,則文字行中的字塊類型為非方塊字,否則,文字行中的字塊類型為方 塊字。本實施例中,總的凸起數(shù)目為27,總段數(shù)為21,所以基準文字行的字塊類型判斷為非 方塊字。本實施例中的字塊類型判斷為非方塊字。游程抹黑對水平文字行具有良好的抹黑 效果,但是對于存在幾何畸變的文字行抹黑效果差。分段游程抹黑是游程抹黑的一種精細 化變形,認為每一段圖像中的文字處于一條直線上,首先對文字行中的幾何畸變圖像進行 分段,再通過傾斜校正將每一段圖像中的文字校正到一條水平直線上,然后對校正后的每 一段圖像進行游程抹黑,最后利用抹黑后各圖像段生成整個文字行的抹黑圖像。根據(jù)字塊 類型分段抹黑基準文字行時,具體包括如下步驟
步驟311 根據(jù)字塊類型合并基準文字行的連通域?;鶞饰淖中杏傻谝怀叨葔K構成,第 一尺度塊由連通域構成,故基準文字行由連通域構成,根據(jù)字塊類型對這些連通域重新進 行合并。如果字塊類型為方塊字,將水平方向上具有小于等于字符寬度的四分之一的交疊, 且合并后的寬度小于等于字符寬度的五分之六的兩相鄰連通域進行合并,直至所有連通域 合并完畢;如果字塊類型為非方塊字,去掉寬度和高度均小于字符高度的三分之一的連通 域,且合并后的寬度小于等于字符寬度的五分之六的兩相鄰連通域進行合并,直至所有連 通域合并完畢。本實施例中,將所有的連通域從左到右進行排序,然后去掉寬度和高度均 小于字符高度的三分之一,即15的連通域,并滿足條件
1)兩個連通域左右相交;
2)兩個連通域合并后的寬度小于等于字符寬度的五分之六,即43的連通域進行合并, 合并后的結果連通域作為一個新連通域繼續(xù)參與合并,直到任何兩個連通域都不能再合并 為止。合并后的連通域如圖33所示。步驟311后還包括對于字塊類型為方塊字的文字行,去掉高度小于高度中值的五 分之四的連通域;對于字塊類型為非方塊字的文字行,去掉高度小于高度中值的五分之四 和高度大于高度中值的七分之八的連通域。本實施例中,先計算得到所有連通域的高度的 中值31,然后去掉高度小于高度中值的五分之四25或者高度大于高度中值的七分之八35 的連通域,剩余的連通域如圖34所示。步驟312 對得到的連通域進行分段傾斜校正,根據(jù)各圖像段中各第一尺度塊的 中心點經(jīng)最小二乘法計算得到各段的傾斜角度后進行傾斜校正,根據(jù)傾斜校正后的各圖像 段的水平游程抹黑閾值抹黑傾斜校正后的各段抹黑圖像。每3個連通域分為一段,段與段 之間重疊1個連通域,如果總的連通域數(shù)目小于等于3,則只分為一段,如果總的連通域數(shù) 目大于3,若不能正好分為整數(shù)段,則只取前面的整段,本實施例中共有64個連通域,分為 25段。分段后用每段中的各連通域的中心點通過最小二乘法分別計算得到每一段的傾斜角 度。各圖像段的傾斜角度如圖35中“傾斜角度”一欄所示,得到各段的傾斜角度后,各圖像 段根據(jù)各自的傾斜角度進行傾斜校正,傾斜校正后的各圖像段如圖35中“傾斜校正后的段 圖像”一欄所示。計算傾斜校正后的各圖像段的水平游程抹黑閾值。對某個傾斜校正后的段圖像, 計算各行中的所有白游程的長度并將這些白游程長度從小到大排序,從最大長度值開始,依次累加各個長度值對應的白游程的個數(shù),當累加個數(shù)大于等于白游程總個數(shù)的五分之一 時停止累加,取此時的長度值為該段圖像的水平游程抹黑閾值。傾斜校正后的段圖像的水 平游程抹黑閾值如圖35中 “水平游程抹黑閾值”一欄所示。根據(jù)字塊類型抹黑傾斜校正后的各圖像段并去掉上下凸起。對于傾斜校正后的各 圖像段,各行像素中長度小于等于該段圖像的水平游程抹黑閾值2倍的所有白游程置黑, 各列像素中所有白游程都置黑,稱為第一次游程抹黑,結果如圖35中“第一次抹黑后的段 圖像”一欄所示;然后計算抹黑部分的上邊緣線和下邊緣線,將上邊緣線上方的黑像素點和 下邊緣線下方的黑像素點置白,結果如圖35中“平滑后的第一次抹黑段圖像”一欄所示;接 下來再將各圖像段中的長度小于等于該段圖像的寬度的二分之一的所有白游程置黑,稱為 第二次游程抹黑,結果如圖35中“第二次抹黑后的段圖像”一欄所示;再次計算抹黑部分的 上邊緣線和下邊緣線,并將上邊緣線上方的黑像素點和下邊緣線下方的黑像素點置白,結 果如圖35中“平滑后的第二次抹黑段圖像”一欄所示。上邊緣線和下邊緣線都是直線,分 別由上邊緣點和下邊緣點擬合得到,上邊緣點和下邊緣點通過如下計算得到對段抹黑圖 像中的各列計算最上黑像素點的位置和最下黑像素點的位置及二者之間的高度,對這些高 度值做平滑后取其中出現(xiàn)頻率最高的高度值作為參考高度,然后找出高度與參考高度絕對 差值不超過2的所有像素列的最上黑像素點作為上邊緣點,最下黑像素點構成下邊緣點。步驟313:由各段抹黑圖像生成基準文字行抹黑圖像。將各段抹黑圖像根據(jù)其各 自的傾斜角度回填到在基準文字行原位置處,這樣就得到了基準文字行的初始抹黑圖像, 如圖36所示。在初始抹黑圖像中,段與段的交疊位置處可能會存在不光滑的凹陷或凸起, 需要進行平滑處理。段與段之間的重疊部分的準確位置可以知道,對每個重疊區(qū)域左側(cè)20 個下邊緣點和右側(cè)20個下邊緣點利用最小二乘法計算下邊緣線,對每個重疊區(qū)域左側(cè)20 個上邊緣點和右側(cè)20個上邊緣點利用最小二乘法計算上邊緣線,上邊緣點即一列中最上 一個黑像素點,下邊緣點即一列中最下一個黑像素點。在重疊區(qū)域內(nèi),基準文字行初始抹黑 圖像下邊緣點與下邊緣線之間的部分置黑,下邊緣線下方的部分置白,上邊緣點與上邊緣 線之間的部分置黑,上邊緣線上方的部分置白。處理完后,得到基準文字行的抹黑圖像,如 圖37所示。步驟40 將抹黑后的基準文字行進行采樣后擬合出校正曲線,并根據(jù)校正曲線校 正二值圖像。得到校正曲線之后,如果采用圖像錯切的方法對圖像進行校正,則只能對校正曲 線為直線的樣本有較好的校正結果,對于校正曲線為非直線的情況校正效果差。采用在畸 變圖像中沿校正曲線的法線方向采樣作為校正后圖像的像素列的方法,對各種情況下的校 正曲線都有好的校正結果,將抹黑后的基準文字行進行采樣后擬合出校正曲線包括如下步
驟ο步驟401 根據(jù)字塊類型對基準文字行抹黑圖像進行采樣。對于字塊類型為方塊 字的基準文字行,對基準文字行的各像素列中最上黑像素點和最下黑像素點的中點構成的 連線進行等間距采樣;對于字塊類型為非方塊字的基準文字行,對基準文字行中各像素列 中最下黑像素點構成的連線進行等間距采樣。本實施例中對抹黑圖像的中線進行等間距采樣,中線是指各列中最上黑像素點和 最下黑像素點的中點構成的線,采樣間距為16,采樣結果如圖38中的白點所示,為了顯示
20明顯,將圖像的背景區(qū)域用灰色顯示。步驟402 平滑采樣得到的各采樣點并進行二次采樣,根據(jù)二次采樣點擬合校正 曲線。對上述等間距采樣點采用5X1的窗口進行均值平滑,然后對平滑后的采樣點再進行 等間距的二次采樣,每隔4個采樣點取一個點。二次采樣后的采樣點如圖39中的白點所示, 為了顯示明顯,將圖像的背景區(qū)域用灰色顯示。根據(jù)二次采樣點計算校正曲線,采用三次樣 條插值擬合校正曲線,本實施例中校正曲線如圖40中的白色曲線所示,為了顯示明顯,將 圖像的白色區(qū)域用灰色顯示。在畸變圖像中沿校正曲線的法線方向逐像素間隔采樣,將采樣結果作為校正后圖 像的像素列,如圖41所示,為實施例之二的校正結果。本發(fā)明還公開了一種文字行幾何畸變校正裝置,包括如下模塊 提取模塊對二值圖像中的各文字行進行提取;
選取模塊根據(jù)提取到的各文字行進行選取,選取基準文字行; 抹黑模塊判斷基準文字行中的字塊類型,根據(jù)字塊類型分段抹黑基準文字行; 校正模塊將抹黑后的基準文字行進行采樣后擬合出校正曲線,并根據(jù)校正曲線校正 二值圖像。本發(fā)明不僅適用于各行文字具有相同畸變的文字段的校正,也適用于各行文字具 有不同畸變的文字段的校正。對于各行文字具有相同畸變的文字段的校正,只需找出其中 一行作為校正基準行,在得到該行的校正曲線后,將其用于整段文字的校正即可。對于各行 文字具有不同畸變的文字段的校正,逐行計算校正曲線進行校正即可。
權利要求
1.一種文字行幾何畸變校正方法,其特征在于,包括如下步驟 步驟一對二值圖像中的各文字行進行提取;步驟二 根據(jù)提取到的各文字行進行選取,選取基準文字行; 步驟三判斷基準文字行中的字塊類型,根據(jù)字塊類型分段抹黑基準文字行; 步驟四將抹黑后的基準文字行進行采樣后擬合出校正曲線,并根據(jù)校正曲線校正二 值圖像。
2.根據(jù)權利要求1所述的方法,其特征在于所述步驟一中對二值圖像中的各文字行 進行提取,包括如下步驟步驟101 對二值圖像中的各連通域進行統(tǒng)計,根據(jù)得到的字符寬度和字符高度對各 連通域進行合并,得到第一尺度塊;步驟102 將大于字符高度二分之一的第一尺度塊進行排序,得到各第一尺度塊間的 參考水平間距,根據(jù)參考水平間距將各第一尺度塊進行合并得到第二尺度塊;步驟103 將得到的第二尺度塊進行排序,得到各第二尺度塊間的第二參考水平間距, 根據(jù)第二參考水平間距將各第二尺度塊進行合并得到第三尺度塊;步驟104 將得到的第三尺度塊進行排序,排序后將第三尺度塊左右兩端既定數(shù)目的 第一尺度塊作延長線,根據(jù)延長線將各第三尺度塊合并為文字行。
3.根據(jù)權利要求1所述的方法,其特征在于所述步驟三中判斷基準文字行中的字塊 類型,包括如下步驟步驟301 將基準文字行圖像進行分段,并對得到的各圖像段進行傾斜校正; 步驟302 計算傾斜校正后得到的各圖像段中的水平游程抹黑閾值; 步驟303 根據(jù)水平游程抹黑閾值抹黑傾斜校正后的各圖像段; 步驟304:統(tǒng)計抹黑后各圖像段的上下邊緣的凸起數(shù)目; 步驟305 根據(jù)凸起數(shù)目判斷基準文字行中的字塊類型。
4.根據(jù)權利要求3所述的方法,其特征在于所述步驟301中將基準文字行圖像進行 分段時,按第二既定數(shù)目的第一尺度塊將基準文字行進行分段,各圖像段之間重疊第三既 定數(shù)目的第一尺度塊。
5.根據(jù)權利要求3所述的方法,其特征在于所述步驟301中對得到的各圖像段進行 傾斜校正時,根據(jù)各圖像段中各第一尺度塊的中心點經(jīng)最小二乘法計算得到各段的傾斜角 度后進行傾斜校正。
6.根據(jù)權利要求3所述的方法,其特征在于所述步驟302中計算傾斜校正后得到的 各圖像段中的水平游程抹黑閾值時,將各圖像段中的白游程長度分別從小到大排序,依次 累加各個長度值對應的白游程的個數(shù),取大于等于白游程總數(shù)的五分之一時的長度值為水 平游程抹黑閾值。
7.根據(jù)權利要求3所述的方法,其特征在于所述步驟303中抹黑傾斜校正后的各圖 像段時,將各圖像段的像素行中長度小于對應的水平游程抹黑閾值3倍的白游程的像素點 置黑;將各圖像段的像素列中所有的白游程的像素點置黑。
8.根據(jù)權利要求3所述的方法,其特征在于所述步驟304中統(tǒng)計抹黑后各圖像段的 上下邊緣的凸起數(shù)目時,計算抹黑后各圖像段的上基線和下基線,將上基線之上和下基線 之下分別大于高度閾值和寬度閾值的黑像素塊進行統(tǒng)計。
9.根據(jù)權利要求8所述的方法,其特征在于所述高度閾值為抹黑后對應的各圖像段 的公共參考高度的四分之一。
10.根據(jù)權利要求9所述的方法,其特征在于所述公共參考高度為每段圖像中各列像 素的黑游程長度的中值。
11.根據(jù)權利要求3所述的方法,其特征在于所述步驟305中判斷基準文字行中的字 塊類型時,如果各段抹黑圖像中的凸起數(shù)目大于等于基準文字行中各圖像段數(shù)目的二分之 一,則字塊類型為非方塊字,否則,字塊類型為方塊字。
12.根據(jù)權利要求1所述的方法,其特征在于所述步驟三中根據(jù)字塊類型分段抹黑基 準文字行時,包括如下步驟;步驟311 根據(jù)字塊類型合并基準文字行的連通域;步驟312 對得到的連通域進行分段傾斜校正,根據(jù)傾斜校正后的各圖像段的水平游 程抹黑閾值抹黑傾斜校正后的各段抹黑圖像;步驟313 由各段抹黑圖像生成基準文字行抹黑圖像。
13.根據(jù)權利要求12所述的方法,其特征在于所述步驟311中合并基準文字行的連 通域時,如果字塊類型為方塊字,將水平方向上具有小于等于字符寬度的四分之一的交疊, 且合并后的寬度小于等于字符寬度的五分之六的兩相鄰連通域進行合并,直至所有連通域 合并完畢;如果字塊類型為非方塊字,去掉寬度和高度均小于字符高度的三分之一的連通 域,且合并后的寬度小于等于字符寬度的五分之六的兩相鄰連通域進行合并,直至所有連 通域合并完畢。
14.根據(jù)權利要求12所述的方法,其特征在于所述步驟311后還包括對于字塊類型 為方塊字的文字行,去掉高度小于高度中值的五分之四的連通域;對于字塊類型為非方塊 字的文字行,去掉高度小于高度中值的五分之四和高度大于高度中值的七分之八的連通 域。
15.根據(jù)權利要求12所述的方法,其特征在于所述步驟312中對得到的連通域進行 分段傾斜校正時,根據(jù)各圖像段中各第一尺度塊的中心點經(jīng)最小二乘法計算得到各段的傾 斜角度后進行傾斜校正。
16.根據(jù)權利要求15所述的方法,其特征在于所述步驟312中根據(jù)傾斜校正后的各 圖像段的水平游程抹黑閾值抹黑傾斜校正后的各段抹黑圖像時,計算抹黑部分的上邊緣線 和下邊緣線,然后將上邊緣線上方的黑像素點和下邊緣線下方的黑像素點置白。
17.根據(jù)權利要求16所述的方法,其特征在于所述上邊緣線和下邊緣線分別由上邊 緣點和下邊緣點擬合得到,根據(jù)各段抹黑圖像中的各列像素最上黑像素點的位置和最下黑 像素點的位置及二者之間的高度進行平滑,將平滑后頻率最高的高度值作為參考高度,然 后將與參考高度絕對差值不超過2的所有像素列的最上黑像素點作為上邊緣點,最下黑像 素點作為下邊緣點。
18.根據(jù)權利要求12所述的方法,其特征在于所述步驟313中由各段抹黑圖像生成 基準文字行抹黑圖像時,在重疊區(qū)域內(nèi),基準文字行初始抹黑圖像下邊緣點與下邊緣線之 間的部分置黑,下邊緣線下方的部分置白;上邊緣點與上邊緣線之間的部分置黑,上邊緣線 上方的部分置白。
19.根據(jù)權利要求1所述的方法,其特征在于所述步驟四中將抹黑后的基準文字行進行采樣后擬合出校正曲線時,包括如下步驟步驟401 根據(jù)字塊類型對抹黑圖像后的基準文字行進行采樣;步驟402 平滑采樣得到的各采樣點并進行二次采樣,根據(jù)二次采樣點擬合校正曲線。
20.根據(jù)權利要求19所述的方法,其特征在于所述步驟401中根據(jù)字塊類型對抹黑 圖像后的基準文字行進行采樣時,對于字塊類型為方塊字的基準文字行,對基準文字行的 各像素列中最上黑像素點和最下黑像素點的中點構成的連線進行等間距采樣;對于字塊類 型為非方塊字的基準文字行,對基準文字行中各像素列中最下黑像素點構成的連線進行等 間距采樣。
21.根據(jù)權利要求1所述的方法,其特征在于所述步驟四中根據(jù)校正曲線校正二值圖 像時,沿校正曲線的法線方向逐像素間隔采樣,將采樣結果作為校正后圖像的像素列。
22.一種文字行幾何畸變校正裝置,其特征在于,包括如下模塊 提取模塊對二值圖像中的各文字行進行提??;選取模塊根據(jù)提取到的各文字行進行選取,選取基準文字行; 抹黑模塊判斷基準文字行中的字塊類型,根據(jù)字塊類型分段抹黑基準文字行; 校正模塊將抹黑后的基準文字行進行采樣后擬合出校正曲線,并根據(jù)校正曲線校正 二值圖像。
全文摘要
本發(fā)明公開了一種文字行幾何畸變校正方法和裝置,屬于光學字符識別領域。方法部分包括如下步驟對二值圖像中的各文字行進行提取;根據(jù)提取到的各文字行進行選取,選取基準文字行;判斷基準文字行中的字塊類型,根據(jù)字塊類型分段抹黑基準文字行;將抹黑后的基準文字行進行采樣后擬合出校正曲線,并根據(jù)校正曲線校正二值圖像。本發(fā)明針對文字行的字塊類型區(qū)別處理,對多種語種的文字行幾何畸變圖像均具有好的校正效果;采用分段游程抹黑技術進行游程抹黑,能夠獲取準確的校正曲線,校正效果好;適用于各行文字具有不同畸變的文字段的校正,適應性好;由于沿校正曲線各點的法線方向采樣作為校正后圖像的像素列,能夠有效校正字符的畸變。
文檔編號G06K9/32GK102063621SQ20101056840
公開日2011年5月18日 申請日期2010年11月30日 優(yōu)先權日2010年11月30日
發(fā)明者李永彬 申請人:漢王科技股份有限公司