專利名稱:判斷文本區(qū)域排版方向的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于0CR(光學(xué)字符識別)技術(shù)領(lǐng)域,特別涉及一種判斷文本區(qū)域排版方向的方法。
背景技術(shù):
當(dāng)前信息的主要存在形式有紙質(zhì)和電子兩大媒介。隨著信息技術(shù)和計(jì)算機(jī)技術(shù)的 發(fā)展和普及,紙質(zhì)媒介在存儲(chǔ)成本、記錄密度、共享手段、查閱方便性等諸多方面均落后于 電子媒介。為了將信息由紙質(zhì)媒介轉(zhuǎn)換為電子媒介存放,一般方法是將紙質(zhì)文檔(包括紙 質(zhì)圖書、雜志、報(bào)紙、文件等)先掃描或拍攝成圖像,然后對圖像進(jìn)行版面分析,再對分析結(jié) 果分別處理,例如對圖像進(jìn)行壓縮存放、對文本進(jìn)行OCR識別等。版面分析是對文檔圖像內(nèi)的圖像、表格和文本等進(jìn)行自動(dòng)分割、識別的過程,其方 法分為自頂向下和自底向上兩類。自頂向下是指從頁面的整體入手,采取多層次縱橫投影 方法分出各個(gè)區(qū)域,其優(yōu)點(diǎn)是簡單快速,缺點(diǎn)是對復(fù)雜的版面適應(yīng)性不強(qiáng),自底向上的方法 是指由像素點(diǎn)出發(fā)先檢測連通域,再把連通域合并成各個(gè)區(qū)域,其優(yōu)點(diǎn)是可以處理復(fù)雜的 版面,缺點(diǎn)是計(jì)算量大、合并規(guī)則不易確定。隨著硬件技術(shù)的快速進(jìn)步,運(yùn)算量逐漸不再是 瓶頸,而對版面分析的準(zhǔn)確性要求越來越高,這使得自底向上的版面分析方法逐漸成為主 流方法。在文檔圖像中,字符是主要的信息載體,版面分析的主要任務(wù)之一就是將文檔圖 像中的文本區(qū)域分割出來,然后采用0CR(0ptical Character Recognition)技術(shù)將圖像中 的字符轉(zhuǎn)換為字符編碼存放。在通過連通域標(biāo)記和合并得到文本區(qū)域之后,有一個(gè)重要步 驟就是判斷文本區(qū)域中字符的排版方向,即字符是按照水平方向排列即橫排還是按照豎直 方向排列即豎排,只有知道了文本的橫豎排信息,才能決定下一步光學(xué)字符識別中是按水 平方向切分文本為行還是按豎直方向切分文本為列。文本區(qū)域的排版方向一般采用投影方法來判斷,即將文本區(qū)域內(nèi)的二值圖像進(jìn)行 水平方向投影和豎直方向投影,分別得到水平投影直方圖和豎直投影直方圖。文本區(qū)域中 的字符行(列)對應(yīng)著直方圖中的投影柱,字符行(列)間距對應(yīng)著直方圖中投影柱之間 的間距。這樣,在字符排版方向上,存在明顯的投影柱和投影柱間距,而在非字符排版方向 上,投影相互粘連,沒有明顯的投影柱和投影間距,根據(jù)這一特點(diǎn),可以判斷字符排版方向。 這種方法簡單快速,但是對于存在傾斜或(和)輕微幾何畸變(如相機(jī)拍攝圖像中的幾何 畸變)的文本區(qū)域,其投影直方圖就失去了上述的明顯特點(diǎn),判斷準(zhǔn)確率很差。
發(fā)明內(nèi)容
本發(fā)明提出了一種判斷文本區(qū)域排版方向的方法,根據(jù)得到的投影直方圖進(jìn)行統(tǒng) 計(jì)分析,找出各自最有代表性的特征數(shù)據(jù)三元組,利用三元組中的正常投影柱數(shù)目、異常投 影柱數(shù)目和統(tǒng)計(jì)位置坐標(biāo)值的大小關(guān)系,將它們或它們與文本區(qū)域的特征相結(jié)合,并利用 一階矩統(tǒng)計(jì)特征對文本區(qū)域排版方向進(jìn)行判斷。本發(fā)明能夠準(zhǔn)確判斷正常文本區(qū)域是橫排還是豎排,而且能夠準(zhǔn)確判斷存在小角度傾斜或輕微幾何畸變的文本區(qū)域是橫排還是豎 排,判斷效果好,速度快,具有很好的應(yīng)用價(jià)值。判斷文本區(qū)域排版方向的方法,包括如下步驟步驟1 統(tǒng)計(jì)文本區(qū)域外接矩形內(nèi)包含的字符連通域的高度,將出現(xiàn)頻率最高的 連通域高度作為字符高。步驟2 對文本區(qū)域內(nèi)的二值圖像進(jìn)行水平方向和豎直方向的投影,分別得到水 平投影直方圖和豎直投影直方圖。統(tǒng)計(jì)直方圖中投影柱的分布,在選定的統(tǒng)計(jì)位置依次選 取正常投影柱數(shù)目、異常投影柱數(shù)目和統(tǒng)計(jì)位置坐標(biāo)值并篩選為水平投影直方圖對應(yīng)的三 元組和豎直投影直方圖對應(yīng)的三元組。步驟3 如果投影直方圖三元組中正常投影柱數(shù)目小于既定數(shù)目,且對于水平投 影直方圖來說文本區(qū)域的高度小于既定高度,或?qū)τ谪Q直投影直方圖來說文本區(qū)域的寬度 小于既定寬度,則比較文本區(qū)域的寬度和高度,寬度大于高度,則排版方向?yàn)樗?,寬度?于高度,則排版方向?yàn)樨Q直。步驟4 分別計(jì)算三元組中統(tǒng)計(jì)位置坐標(biāo)值處的正常投影柱間距的一階矩;如果 一方向上直方圖的正常投影柱間距的一階矩小于既定距離,且另一方向上直方圖的正常投 影柱間距的一階矩大于既定距離,則排版方向與正常投影柱間距的一階矩小于既定距離對 應(yīng)的方向一致;否則轉(zhuǎn)到步驟5。步驟5 根據(jù)投影直方圖中的正常投影柱的位置,分別得到文本區(qū)域的文本行和 文本列,記錄左端和頂端的連通域位置,從而判斷縮進(jìn)情況,進(jìn)而判斷文本區(qū)域的排版方 向。所述步驟2中,正常投影柱為當(dāng)前統(tǒng)計(jì)位置坐標(biāo)值處對應(yīng)的寬度在字符高度 0.5 1.5倍間的投影柱。所述步驟2中,異常投影柱為當(dāng)前統(tǒng)計(jì)位置坐標(biāo)值處對應(yīng)的寬度小于字符高度 0. 5倍或大于字符高度1. 5倍的投影柱。所述步驟2中,統(tǒng)計(jì)直方圖中投影柱的分布時(shí),在水平投影直方圖和豎直投影直 方圖縱軸上,每隔半個(gè)字符高統(tǒng)計(jì)正常投影柱和異常投影柱數(shù)目,得到 < 正常投影柱數(shù)目, 異常投影柱數(shù)目,統(tǒng)計(jì)位置坐標(biāo)值〉的三元組;然后在所得的正常投影柱最多的三元組中, 選擇異常投影柱最少的三元組,并在所得結(jié)果中選取統(tǒng)計(jì)位置坐標(biāo)值最小的三元組保存, 剩余三元組釋放。所述步驟3中,既定數(shù)目為3,用來判定當(dāng)前文本區(qū)域是否只有1至2行(列)。所述步驟3中,既定高度或既定寬度為4倍字符高,用來判定當(dāng)前文本區(qū)域是否只 有1至2行(列)。所述步驟3之后,步驟4之前還可進(jìn)行步驟31 如果兩組所述三元組的異常投影 柱數(shù)目都為零,則排版方向與兩組三元組中對應(yīng)的統(tǒng)計(jì)位置坐標(biāo)值小的對應(yīng)方向一致,如 果兩組三元組中對應(yīng)的統(tǒng)計(jì)位置坐標(biāo)值相等,則轉(zhuǎn)到步驟4。如果兩組所述三元組中一方向上的異常投影柱數(shù)目為零,另一方向上的異常投影 柱數(shù)目不為零,且異常投影柱數(shù)目為零對應(yīng)的方向上三元組中統(tǒng)計(jì)位置坐標(biāo)值不大于異常 投影柱數(shù)目不為零的方向上三元組中統(tǒng)計(jì)位置坐標(biāo)值,則排版方向與異常投影柱數(shù)目為零 對應(yīng)的方向一致。如果異常投影柱數(shù)目為零對應(yīng)的方向上三元組中統(tǒng)計(jì)位置坐標(biāo)值大于異常投影柱數(shù)目不為零對應(yīng)的方向上三元組中統(tǒng)計(jì)位置坐標(biāo)值,則轉(zhuǎn)到步驟4。如果兩組所述三元組中的異常投影柱數(shù)目都不為零,則如果一方向上三元組中統(tǒng) 計(jì)位置坐標(biāo)值較小,且該方向上三元組的異常投影柱數(shù)目較小,則排版方向與該方向一致; 否則,轉(zhuǎn)到步驟4。所述步驟4中,既定距離為字符高的0. 5 2倍,用來衡量正常投影柱間距的波動(dòng) 情況。所述步驟5中,如果存在行縮進(jìn)且無列縮進(jìn),則排版方向?yàn)樗椒较?;如果存在?縮進(jìn)且無行縮進(jìn),則排版方向?yàn)樨Q直方向,否則無法判斷文本區(qū)域的排版方向。 本發(fā)明判斷文本區(qū)域排版方向的方法,與現(xiàn)有技術(shù)相比,其優(yōu)點(diǎn)在于1、本方法綜合利用了文本長寬比、投影直方圖特征、字符縮進(jìn)等信息,不但能夠正 確判斷正常文本區(qū)域的排版方向,而且能夠準(zhǔn)確判斷存在小角度傾斜或輕微幾何畸變的文 本區(qū)域的排版方向。2、本方法的直方圖中投影柱分布情況的統(tǒng)計(jì)及三元組的選擇方法,將投影數(shù)據(jù)進(jìn) 行細(xì)致的統(tǒng)計(jì),有效地對文本區(qū)域進(jìn)行了描述,反應(yīng)了文本的行列分布情況,進(jìn)而進(jìn)行文本 區(qū)域排版方向的判斷。3、本方法的正常投影柱間距的一階距對應(yīng)于文本行(列)間距的一階距,反映了 文本行(列)間距的波動(dòng)情況,統(tǒng)計(jì)方式簡捷快速,能夠據(jù)此快速準(zhǔn)確的進(jìn)行文本區(qū)域排版 方向的判斷。
圖1為本發(fā)明判斷文本區(qū)域排版方向的方法的流程圖;圖2為本發(fā)明實(shí)施例1的文本區(qū)域的二值圖像;圖3a為本發(fā)明實(shí)施例1文本區(qū)域二值圖像的水平投影直方圖;圖3b為本發(fā)明實(shí)施例1文本區(qū)域二值圖像的豎直投影直方圖;圖4a為本發(fā)明實(shí)施例1中的水平投影直方圖的投影柱分布情況的所有統(tǒng)計(jì)位置 示意圖;圖4b為本發(fā)明實(shí)施例1中的豎直投影直方圖的投影柱分布情況的所有統(tǒng)計(jì)位置 示意圖;圖5a為本發(fā)明實(shí)施例1中的水平投影直方圖的三元組中統(tǒng)計(jì)位置示意圖;圖5b為本發(fā)明實(shí)施例1中的豎直投影直方圖的三元組中統(tǒng)計(jì)位置示意圖;圖6為本發(fā)明實(shí)施例2的文本區(qū)域的二值圖像;圖7a為本發(fā)明實(shí)施例2文本區(qū)域二值圖像的水平投影直方圖;圖7b為本發(fā)明實(shí)施例2文本區(qū)域二值圖像的豎直投影直方圖;圖8a為本發(fā)明實(shí)施例2中的水平投影直方圖的投影柱分布情況的所有統(tǒng)計(jì)位置 示意圖;圖8b為本發(fā)明實(shí)施例2中的豎直投影直方圖的投影柱分布情況的所有統(tǒng)計(jì)位置 示意圖;圖9a為本發(fā)明實(shí)施例2中的水平投影直方圖的三元組中統(tǒng)計(jì)位置示意圖;圖9b為本發(fā)明實(shí)施例2中的豎直投影直方圖的三元組中統(tǒng)計(jì)位置示意圖10為本發(fā)明橫排文本的行縮進(jìn)示意圖;圖11為本發(fā)明豎排文本的列縮進(jìn)示意圖;圖12a為本發(fā)明實(shí)施例2中的水平縮進(jìn)示意圖;圖12b為本發(fā)明實(shí)施例2中的豎直縮進(jìn)示意圖。
具體實(shí)施例方式為了能更清楚地理解本發(fā)明的技術(shù)內(nèi)容,采用以下實(shí)施例進(jìn)行詳細(xì)說明。在實(shí)施之前,將文檔圖像,無論是彩色的還是灰度圖像,首先進(jìn)行二值化轉(zhuǎn)換成二 值圖像,利用連通域標(biāo)記算法得到圖像中的連通域,并去掉圖像表格等大塊的連通域,對于 剩余的連通域,通過鄰近連通域合并,得到一個(gè)個(gè)的區(qū)域,這些區(qū)域稱之為文本區(qū)域,每個(gè) 文本區(qū)域用一個(gè)外接矩形表示其大小。本方法對這些由連通域構(gòu)成的文本區(qū)域進(jìn)行文字排 版方向的判斷。如圖2所示的實(shí)施例圖像,其處理過程包括如下步驟,如圖1所示步驟10 計(jì)算文本區(qū)域字符高。計(jì)算文本區(qū)域包含的所有連通域的高度,統(tǒng)計(jì)各 高度值的出現(xiàn)頻率,對這些頻率值進(jìn)行1X5的均值濾波,然后選取濾波結(jié)果中頻率最大者 對應(yīng)的高度值為文本區(qū)域的字符高。針對圖2所示的文本區(qū)域,其字符高為30個(gè)像素。步驟20 計(jì)算文本區(qū)域內(nèi)二值圖像的投影直方圖。對文本區(qū)域?qū)?yīng)的二值圖像的 每一行像素計(jì)算黑像素點(diǎn)數(shù)目,然后從上到下排列每一行黑像素點(diǎn)數(shù)目,形成水平投影直 方圖,如圖3a所示。對文本區(qū)域?qū)?yīng)的二值圖像的每一列像素計(jì)算黑像素點(diǎn)數(shù)目,然后從 左到右排列每一列黑像素點(diǎn)數(shù)目,形成豎直投影直方圖,如圖3b所示。統(tǒng)計(jì)直方圖中投影柱的分布。投影直方圖的橫坐標(biāo)軸對應(yīng)于文本區(qū)域的高(寬) 度,縱坐標(biāo)對應(yīng)于像素行(列)中黑像素的數(shù)目,即投影值。在字符排版方向上,文本區(qū)域 中的字符行(列)對應(yīng)著直方圖中寬度在字符0.5 1.5倍間的投影柱,即正常投影柱。字 符行(列)間距對應(yīng)著正常投影柱之間的間距。在非排版方向上,文本區(qū)域中的字符由于 隨機(jī)排列導(dǎo)致得到的投影柱的寬度有大有小,其中,寬度小于字符0. 5倍或大于字符1. 5倍 的投影柱為異常投影柱。通過統(tǒng)計(jì)兩個(gè)直方圖中的正常投影柱和異常投影柱的情況,來作 為判斷字符排版方向的依據(jù)。在投影直方圖中,由于投影柱對應(yīng)于文本區(qū)域的文字行(列),正常投影柱數(shù)目 最多、異常投影柱數(shù)目最少的位置處的投影柱分布情況,最近似的反映了文本區(qū)域中的行 (列)分布情況。由于圖像的小角度傾斜或(和)輕微幾何畸變,這樣的位置在投影直方圖 中是不固定的。為了找到最好的投影柱分布信息,采取如下統(tǒng)計(jì)方法,采用的既定距離為字符高 的0. 5倍。沿著投影直方圖縱軸,每隔一定的既定距離,統(tǒng)計(jì)一次正常投影柱和異常投影柱 的數(shù)目,直至投影值的最大值處停止。在每個(gè)統(tǒng)計(jì)位置處,按照 < 正常投影柱數(shù)目,異常投 影柱數(shù)目,統(tǒng)計(jì)位置坐標(biāo)值 > 的格式形成一三元組,則在兩個(gè)投影直方圖上各得到若干三 元組,如圖4a所示為水平投影直方圖中的投影柱分布情況的各個(gè)統(tǒng)計(jì)位置,如圖4b所示為 豎直投影直方圖中的投影柱分布情況的各個(gè)統(tǒng)計(jì)位置。在兩個(gè)投影直方圖中各得到若干三 元組后,首先分別選擇正常投影柱最多的三元組,并在得到的正常投影柱最多的三元組中 再分別選擇異常投影柱最少的三元組,最后在得到的結(jié)果中再分別選取統(tǒng)計(jì)位置坐標(biāo)值最小的三元組保存,選擇完成后,剩余三元組數(shù)據(jù)丟棄不用,釋放占用的存儲(chǔ)空間。正常投影 柱對應(yīng)于文本區(qū)域的文字行(列),正常投影柱數(shù)目最大的位置的直方圖分布最好的描述 了文本區(qū)域的文字行(列)分布。異常投影柱反映了該方向不是排版方向的可能性,異常 投影柱數(shù)目越多,表明該方向越不可能是文字的排版方向。統(tǒng)計(jì)位置坐標(biāo)值的大小反映了 以上兩個(gè)統(tǒng)計(jì)值的可靠性,統(tǒng)計(jì)位置坐標(biāo)值越小,說明以上兩個(gè)統(tǒng)計(jì)值的可靠性越高。本實(shí)施例中,文本區(qū)域的字符高為30pixel,所以寬度在15 45pixel之間的投影 柱為正常投影柱,寬度小于15pixel或者大于45pixel的為異常投影柱。如圖4a所示,在水 平投影直方圖中,最大投影值為578pixel,每隔15pixel統(tǒng)計(jì)一組投影柱數(shù)目,則共得到39 組三元組數(shù)據(jù)。首先選擇正常投影柱最多的三元組,并在得到的正常投影柱最多的三元組 中再選擇異常投影柱最少的三元組,最后在得到的結(jié)果中再選取統(tǒng)計(jì)位置坐標(biāo)值最小的三 元組保存。如圖5a所示,得到的是第12組三元組,在這組數(shù)據(jù)中,正常投影柱數(shù)目為8,異 常投影柱數(shù)目為0,統(tǒng)計(jì)位置坐標(biāo)值為165pixel,則三元組為<8,0,165>。如圖4b所示,在 豎直投影直方圖中,最大投影值為155pixel,每隔15pixel統(tǒng)計(jì)一組投影柱數(shù)目,則共得到 11組三元組數(shù)據(jù)。首先選擇正常投影柱最多的三元組,并在得到的正常投影柱最多的三元 組中再選擇異常投影柱最少的三元組,最后在得到的結(jié)果中再選取統(tǒng)計(jì)位置坐標(biāo)值最小的 三元組保存。如圖5b所示,得到的是第5組三元組,在這組數(shù)據(jù)中,正常投影柱數(shù)目為22, 異常投影柱數(shù)目為77,統(tǒng)計(jì)位置坐標(biāo)值為60pixel,為<22,77,60>。在后續(xù)的步驟中,會(huì)利 用這些數(shù)據(jù)作為文本排版方向的判斷依據(jù)。步驟30 當(dāng)文本區(qū)域字符行(列)數(shù)目小于既定數(shù)目3時(shí),利用文本區(qū)域長寬比 判斷排版方向。正常投影柱數(shù)目對應(yīng)于文本行(列),如果水平投影直方圖中的正常投影柱 數(shù)目小于既定數(shù)目3,并且文本區(qū)域高度小于既定高度字符高的4倍,或者豎直投影直方圖 中的正常投影柱數(shù)目小于既定數(shù)目3,并且文本區(qū)域?qū)挾刃∮诩榷▽挾茸址叨鹊?倍,則 認(rèn)為文本區(qū)域字符的行(列)數(shù)小于3。所述既定數(shù)目用來判定當(dāng)前文本區(qū)域是否只有1 至2行(列)。如果只采用正常投影柱數(shù)目,在非排版方向上,也可能隨機(jī)出現(xiàn)正常投影柱,所 以,此處在對正常投影柱數(shù)目做了規(guī)定之后,進(jìn)一步增加了對于文本區(qū)域?qū)挾?高度)的要 求,既定寬度(既定高度)為4倍字符高度,考慮到行(列)間距的存在,則文本區(qū)域中最 多只有3行(列)文字,再結(jié)合正常投影柱的限制,則可能斷定文本區(qū)域中的行(列)數(shù)目 小于3。在文本區(qū)域字符的行(列)數(shù)小于3的情況下,排版方向判斷規(guī)則如下1)文本區(qū)域?qū)挾却笥诟叨龋瑒t判斷排版方向?yàn)樗剑?)文本區(qū)域高度大于寬度,則判斷排版方向?yàn)樨Q直;否則,無法判斷該文本區(qū)域的排版方向。 本實(shí)施例中,水平投影直方圖和豎直投影直方圖的三元組中正常投影柱的數(shù)目為 8和22,都大于3,所以跳過該步,直接進(jìn)入下一步驟31。步驟31 利用三元組中異常投影柱數(shù)目及統(tǒng)計(jì)位置坐標(biāo)值判斷排版方向。判斷規(guī) 則如下1)在水平投影直方圖、豎直投影直方圖中的異常投影柱數(shù)目都為零時(shí),則排版方 向與兩組水平投影直方圖和豎直投影直方圖的三元組中對應(yīng)的統(tǒng)計(jì)位置坐標(biāo)值小的對應(yīng)方向一致;如果兩組三元組中對應(yīng)的統(tǒng)計(jì)位置坐標(biāo)值相等,則轉(zhuǎn)到步驟40。2)在水平投影直方圖的三元組中異常投影柱數(shù)目為零、豎直投影直方圖的三元組 中異常投影柱數(shù)目非零時(shí),異常投影柱越多表明該方向?yàn)榕虐娣较虻目赡苄栽叫。虐娣?向傾向于水平方向;進(jìn)一步判定如果水平投影直方圖的三元組的統(tǒng)計(jì)位置坐標(biāo)值小于等于 豎直投影直方圖的三元組的統(tǒng)計(jì)位置坐標(biāo)值,說明水平投影直方圖中的異常投影柱數(shù)目的 可靠性不低于豎直投影直方圖中的異常投影柱數(shù)目,則確定排版方向標(biāo)記為水平方向;否 則轉(zhuǎn)步驟40。
3)在豎直投影直方圖的三元組中異常投影柱數(shù)目為零、水平投影直方圖的三元組 中異常投影柱數(shù)目非零時(shí),異常投影柱越多表明該方向?yàn)榕虐娣较虻目赡苄栽叫?,排版?向傾向于豎直方向;進(jìn)一步判定如果豎直投影直方圖的三元組的統(tǒng)計(jì)位置坐標(biāo)值小于等于 水平投影直方圖的三元組的統(tǒng)計(jì)位置坐標(biāo)值,說明豎直投影直方圖中的異常投影柱數(shù)目的 可靠性不低于水平投影直方圖中的異常投影柱數(shù)目,則確定排版方向標(biāo)記為豎直方向;否 則轉(zhuǎn)步驟40。4)在水平投影直方圖和豎直投影直方圖的三元組中異常投影柱數(shù)目都非零時(shí),如 果水平投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值小于豎直投影直方圖的三元組中統(tǒng)計(jì)位置 坐標(biāo)值,說明水平投影直方圖中的異常投影柱數(shù)目的可靠性優(yōu)于豎直投影直方圖中的異常 投影柱數(shù)目,進(jìn)一步判定如果水平投影直方圖的三元組中異常投影柱數(shù)目小于豎直投影直 方圖的三元組中異常投影柱數(shù)目,則標(biāo)記為水平方向。如果豎直投影直方圖的三元組中統(tǒng) 計(jì)位置坐標(biāo)值小于水平投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值,說明水平投影直方圖中的 異常投影柱數(shù)目的可靠性優(yōu)于豎直投影直方圖中的異常投影柱數(shù)目,進(jìn)一步判定如果豎直 投影直方圖的三元組中異常投影柱數(shù)目小于水平投影直方圖的三元組中異常投影柱數(shù)目, 則標(biāo)記為豎直方向。否則,轉(zhuǎn)步驟40。在本實(shí)施例中,水平投影直方圖的三元組中異常投影柱數(shù)目為零,豎直投影直方 圖的三元組中異常投影柱數(shù)目為77,大于零,說明水平投影直方圖的投影柱分布更接近文 本區(qū)域的行列分布。另外,水平投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值為165pixel,不小 于豎直投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值60,說明豎直投影直方圖的投影柱分布更接 近文本區(qū)域的行列分布。以上兩個(gè)結(jié)論相互矛盾,無法據(jù)此判斷文本排版方向,所以轉(zhuǎn)步驟 40。步驟40 分別計(jì)算三元組中統(tǒng)計(jì)位置坐標(biāo)值處的正常投影柱間距的一階矩,利用 三元組中各正常投影柱間距的一階距判斷排版方向。在文本區(qū)域的字符排版方向上,正常 投影柱有序排列,其間距大小基本一致,所以正常投影柱間距的一階距很小,理想情況下為 0。在文本區(qū)域的非字符排版方向上,如果正常投影柱隨機(jī)出現(xiàn),正常投影柱間距也是隨機(jī) 值,所以非字符排版方向上正常投影柱間距的一階距較大。當(dāng)正常投影柱數(shù)目小于3時(shí),正 常投影柱間距的一階距不存在,此時(shí)將間距賦值為字符高。分別計(jì)算三元組中統(tǒng)計(jì)位置坐標(biāo)值處的正常投影柱間距的一階矩,根據(jù)正常投影 柱間距的一階距來判斷排版方向的規(guī)則如下1)如果水平投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值處正常投影柱間距一階距小 于既定距離字符高的0. 5倍,既定距離用來衡量正常投影柱間距的波動(dòng)情況,表示文字行 的分布比較均勻,該方向?yàn)榕虐娣较虻目赡苄暂^大,進(jìn)一步如果豎直投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值處正常投影柱間距一階距大于既定距離字符高的0. 5倍,表示文字列的分布不均勻,即文字列分布隨機(jī),該方向?yàn)榕虐娣较虻目赡苄暂^小,綜上則排版方向判斷為 水平方向;2)如果豎直投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值處正常投影柱間距一階距小 于既定距離字符高的0. 5倍,表示文字列的分布均勻,該方向?yàn)榕虐娣较虻目赡苄暂^大,進(jìn) 一步如果水平投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值處正常投影柱間距一階距大于既定 距離字符高的0. 5倍,表示文字行的分布不均勻,即文字行分布隨機(jī),該方向?yàn)榕虐娣较虻?可能性較小,綜上則排版方向判斷為豎直方向;否則,轉(zhuǎn)步驟50。3)在本實(shí)施例中,水平投影直方圖的三元組中統(tǒng)計(jì)位置坐標(biāo)值處共有8個(gè)正常投 影柱,統(tǒng)計(jì)其間距的一階距為3,小于既定距離字符高的0. 5倍15pixel。豎直投影直方圖 中共有22個(gè)正常投影柱,統(tǒng)計(jì)其間距的一階距為31,大于既定距離字符高的0. 5倍,這說明 水平投影方向和豎直投影方向兩個(gè)方向相比,行間距波動(dòng)情況較小,小于既定距離0. 5個(gè) 字符高,則水平投影直方圖更能反映文本區(qū)域的行列分布情況。根據(jù)情況1)所述,判斷本 實(shí)施例的字符排版方向?yàn)樗椒较?。至此,本?shí)施例的字符排版方向判斷完成,步驟70不需要進(jìn)行。如圖6所示的第二個(gè)實(shí)施例圖像,其處理過程包括如下步驟步驟10 計(jì)算文本區(qū)域字符高。計(jì)算文本區(qū)域包含的所有連通域的高度,統(tǒng)計(jì)各 高度值的出現(xiàn)頻率,對這些頻率值進(jìn)行1X5的均值濾波,然后選取濾波結(jié)果中頻率最大者 對應(yīng)的高度值為文本區(qū)域的字符高。針對圖6所示的文本區(qū)域,其字符高為34pixel。步驟20 計(jì)算文本區(qū)域內(nèi)二值圖像的投影直方圖。對文本區(qū)域?qū)?yīng)的二值圖像的 每一行像素計(jì)算黑像素點(diǎn)數(shù)目,然后從上到下排列每一行黑像素點(diǎn)數(shù)目,形成水平投影直 方圖,如圖7a所示;對文本區(qū)域?qū)?yīng)的二值圖像的每一列像素計(jì)算黑像素點(diǎn)數(shù)目,然后從 左到右排列每一列黑像素點(diǎn)數(shù)目,形成豎直投影直方圖,如圖7b所示。接著統(tǒng)計(jì)直方圖中投影柱的分布。在水平投影直方圖中,本實(shí)施例中,最大投影 值為304pixel,每隔17pixel統(tǒng)計(jì)一組投影柱數(shù)目,共得到18組三元組。首先選擇正常投 影柱最多的三元組,并在得到的正常投影柱最多的三元組中再選擇異常投影柱最少的三元 組,最后在得到的結(jié)果中再選取統(tǒng)計(jì)位置坐標(biāo)值最小的三元組保存,如圖9a所示,選中為 第4組數(shù)據(jù),正常投影柱數(shù)目為9,異常投影柱數(shù)目為6,統(tǒng)計(jì)位置坐標(biāo)值為51pixel,得三元 組<9,6,51>,剩余三元組數(shù)據(jù)丟棄不用,釋放占用的存儲(chǔ)空間。在豎直投影直方圖中,最大投影值為185pixel,則每隔17pixel統(tǒng)計(jì)一組投影柱 數(shù)目,共得到11組三元組,首先選擇正常投影柱最多的三元組,并在得到的正常投影柱最 多的三元組中再選擇異常投影柱最少的三元組,最后在得到的結(jié)果中再選取統(tǒng)計(jì)位置坐標(biāo) 值最小的三元組保存,如圖9b所示,選中的為第5組數(shù)據(jù),其中正常投影柱數(shù)目為15,異常 投影柱數(shù)目為5,統(tǒng)計(jì)位置坐標(biāo)值為68,得三元組<15,5,68>,剩余三元組數(shù)據(jù)丟棄不用,釋 放占用的存儲(chǔ)空間。步驟30 當(dāng)文本區(qū)域字符行(列)數(shù)目小于既定數(shù)目3時(shí),利用文本區(qū)域長寬比 判斷排版方向。如果水平投影直方圖的三元組中正常投影柱數(shù)目小于既定數(shù)目3,并且文本 區(qū)域高度小于既定高度字符高的4倍;豎直投影直方圖的三元組中正常投影柱數(shù)目小于既 定數(shù)目3并且文本區(qū)域?qū)挾刃∮诩榷▽挾茸址叨鹊?倍,則認(rèn)為文本區(qū)域字符的行(列)數(shù)小于3。在文本區(qū)域字符的行(列)數(shù)小于3的情況下,排版方向判斷規(guī)則如下1)文本區(qū)域?qū)挾却笥诟叨?,則判斷排版方向?yàn)樗剑?)文本區(qū)域高度大于寬度,則判斷排版方向?yàn)樨Q直;否則,無法判斷該文本區(qū)域的排版方向。本實(shí)施例中,水平投影直方圖和豎直投影直方圖的三元組中正常投影柱的數(shù)目為9和15,都大于3,所以跳過該步,直接進(jìn)入下一步驟31。步驟31 利用三元組中異常投影柱數(shù)目及統(tǒng)計(jì)位置坐標(biāo)值判斷排版方向。在本實(shí) 施例中,水平投影直方圖的三元組中異常投影柱數(shù)目6大于零,豎直投影直方圖的三元組 中異常投影柱的數(shù)目5大于零,并且水平投影直方圖中的三元組中投影柱統(tǒng)計(jì)位置小于豎 直投影直方圖的三元組中投影柱統(tǒng)計(jì)位置,所以轉(zhuǎn)步驟40。步驟40 分別計(jì)算三元組中統(tǒng)計(jì)位置坐標(biāo)值處的正常投影柱間距的一階矩,利用 三元組中各正常投影柱間距的一階距判斷排版方向。在本實(shí)施例中,水平投影直方圖的三 元組中正常投影柱的數(shù)目為9,統(tǒng)計(jì)其間距的一階距為5,小于既定距離字符高的0.5倍 15pixel ;豎直投影直方圖的三元組中正常投影柱的數(shù)目為15,統(tǒng)計(jì)其間距的一階距為5, 小于既定距離字符高的0. 5倍15pixel,轉(zhuǎn)步驟50。步驟50 根據(jù)投影直方圖中的正常投影柱的位置,分別得到文本區(qū)域的文本行和 文本列,記錄頂端和左端的連通域位置,從而判斷縮進(jìn)情況,進(jìn)而判斷文本區(qū)域的排版方 向。在文本區(qū)域中,段落的首行字符一般縮進(jìn)兩個(gè)字符寬度,利用縮進(jìn)可以判斷排版方向。如圖10所示,對于橫排文本,其縮進(jìn)包括三種形式,即文本區(qū)域的首行縮進(jìn)、文本 區(qū)域的尾行縮進(jìn)及文本區(qū)域的中間行縮進(jìn)。如圖11所示,對于豎排文本,其縮進(jìn)包括三種 形式,即文本區(qū)域的右列縮進(jìn)、文本區(qū)域的左列縮進(jìn)及文本區(qū)域的中間列縮進(jìn)。圖10和圖 11中縮進(jìn)的閾值為兩個(gè)字符高。在統(tǒng)計(jì)位置坐標(biāo)值處,正常投影柱的位置對應(yīng)著文本區(qū)域 中的文本行列的位置。判斷規(guī)則如下1)如果存在行縮進(jìn),并且不存在列縮進(jìn),則排版方向判斷為水平;2)如果存在列縮進(jìn),并且不存在行縮進(jìn),則排版方向判斷為豎直;否則,無法判斷文本區(qū)域的排版方向。根據(jù)投影直方圖中正常投影柱的位置,如圖12a所示,實(shí)線框表示連通域,虛線框 表示文本區(qū)域的文本行;如圖12b中所示,實(shí)線框表示連通域,虛線框表示文本區(qū)域的文本 列。在水平投影直方圖中,記錄下每一文本行中最左端連通域的位置,然后按照圖10所示 的三種情況,判斷是否存在行縮進(jìn);在豎直投影直方圖中,記錄下每一文本列中最上端連通 域的位置,然后按照圖11所示的三種情況,判斷是否存在列縮進(jìn)。在本實(shí)施例中,記錄下每一文本列中最上端連通域的位置時(shí),水平方向存在行縮 進(jìn),豎直方向不存在列縮進(jìn),根據(jù)規(guī)則1),該文本區(qū)域的排版方向?yàn)樗椒较颉V链?,圖6所 示的實(shí)施例的排版方向判斷完畢。
權(quán)利要求
一種判斷文本區(qū)域排版方向的方法,其特征在于,包括如下步驟步驟一統(tǒng)計(jì)文本區(qū)域外接矩形內(nèi)包含的字符連通域的高度,將出現(xiàn)頻率最高的連通域高度作為字符高;步驟二對文本區(qū)域內(nèi)的二值圖像進(jìn)行水平方向和豎直方向的投影,分別得到水平投影直方圖和豎直投影直方圖;統(tǒng)計(jì)直方圖中投影柱的分布,在選定的統(tǒng)計(jì)位置依次選取正常投影柱數(shù)目、異常投影柱數(shù)目和統(tǒng)計(jì)位置坐標(biāo)值并篩選為水平投影直方圖對應(yīng)的三元組和豎直投影直方圖對應(yīng)的三元組;步驟三如果投影直方圖三元組中正常投影柱數(shù)目小于既定數(shù)目,且對于水平投影直方圖來說文本區(qū)域的高度小于既定高度,或?qū)τ谪Q直投影直方圖來說文本區(qū)域的寬度小于既定寬度,則比較文本區(qū)域的寬度和高度,寬度大于高度,則排版方向?yàn)樗?,寬度小于高度,則排版方向?yàn)樨Q直;步驟四分別計(jì)算三元組中統(tǒng)計(jì)位置坐標(biāo)值處的正常投影柱間距的一階矩;如果一方向上直方圖的正常投影柱間距的一階矩小于既定距離,且另一方向上直方圖的正常投影柱間距的一階矩大于既定距離,則排版方向與正常投影柱間距的一階矩小于既定距離對應(yīng)的方向一致;否則轉(zhuǎn)到步驟五;步驟五根據(jù)投影直方圖中的正常投影柱的位置,分別得到文本區(qū)域的文本行和文本列,記錄左端和頂端的連通域位置,從而判斷縮進(jìn)情況,進(jìn)而判斷文本區(qū)域的排版方向。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟二中,正常投影柱為當(dāng)前統(tǒng)計(jì)位 置坐標(biāo)值處對應(yīng)的寬度在字符高度0. 5 1. 5倍間的投影柱。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟二中,異常投影柱為當(dāng)前統(tǒng)計(jì)位 置坐標(biāo)值處對應(yīng)的寬度小于字符高度0. 5倍或大于字符高度1. 5倍的投影柱。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟二中,統(tǒng)計(jì)直方圖中投影柱的分 布時(shí),在水平投影直方圖和豎直投影直方圖縱軸上,每隔半個(gè)字符高統(tǒng)計(jì)正常投影柱和異 常投影柱數(shù)目,得到 < 正常投影柱數(shù)目,異常投影柱數(shù)目,統(tǒng)計(jì)位置坐標(biāo)值 > 的三元組;然后 在所得的正常投影柱最多的三元組中,選擇異常投影柱最少的三元組,并在所得結(jié)果中選 取統(tǒng)計(jì)位置坐標(biāo)值最小的三元組保存,剩余三元組釋放。
5.根據(jù)權(quán)利要求1所述一種判斷文本區(qū)域排版方向的方法,其特征在于所述步驟三 中,既定數(shù)目為3,用來判定當(dāng)前文本區(qū)域是否只有1至2行(列)。
6.根據(jù)權(quán)利要求1所述一種判斷文本區(qū)域排版方向的方法,其特征在于所述步驟三 中,既定高度或既定寬度為4倍字符高,用來判定當(dāng)前文本區(qū)域是否只有1至2行(列)。
7.根據(jù)權(quán)利要求1所述一種判斷文本區(qū)域排版方向的方法,其特征在于所述步驟三 之后,步驟四之前還可進(jìn)行步驟三一如果所述水平投影直方圖對應(yīng)的三元組和豎直投影直方圖對應(yīng)的三元組的異常投影 柱數(shù)目都為零,則排版方向與兩組三元組中對應(yīng)的統(tǒng)計(jì)位置坐標(biāo)值小的對應(yīng)方向一致,如 果兩組三元組中對應(yīng)的統(tǒng)計(jì)位置坐標(biāo)值相等,則轉(zhuǎn)到步驟四;如果兩組所述三元組中一方向上的異常投影柱數(shù)目為零,另一方向上的異常投影柱數(shù) 目不為零,且異常投影柱數(shù)目為零對應(yīng)的方向上三元組中統(tǒng)計(jì)位置坐標(biāo)值小于等于異常投 影柱數(shù)目不為零的方向上三元組中統(tǒng)計(jì)位置坐標(biāo)值,則排版方向與異常投影柱數(shù)目為零對 應(yīng)的方向一致;如果異常投影柱數(shù)目為零對應(yīng)的方向上三元組中統(tǒng)計(jì)位置坐標(biāo)值大于異常投影柱數(shù)目不為零對應(yīng)的方向上三元組中統(tǒng)計(jì)位置坐標(biāo)值,則轉(zhuǎn)到步驟四;如果兩組所述三元組中的異常投影柱數(shù)目都不為零,則如果一方向上三元組中統(tǒng)計(jì)位 置坐標(biāo)值較小,且該方向上三元組的異常投影柱數(shù)目較小,則排版方向與該方向一致;否 則,轉(zhuǎn)到步驟四。
8.根據(jù)權(quán)利要求1所述一種判斷文本區(qū)域排版方向的方法,其特征在于所述步驟四 中,既定距離為字符高的0. 5 2倍,用來衡量正常投影柱間距的波動(dòng)情況。
9.根據(jù)權(quán)利要求1所述一種判斷文本區(qū)域排版方向的方法,其特征在于所述步驟五 中,如果存在行縮進(jìn)且無列縮進(jìn),則排版方向?yàn)樗椒较颍蝗绻嬖诹锌s進(jìn)且無行縮進(jìn),則 排版方向?yàn)樨Q直方向,否則無法判斷文本區(qū)域的排版方向。
全文摘要
本發(fā)明提出了一種文本區(qū)域排版方向的判斷方法,屬于OCR領(lǐng)域,根據(jù)得到的投影直方圖進(jìn)行統(tǒng)計(jì)分析,找出各自最有代表性的特征數(shù)據(jù)三元組,對于字符行(列)數(shù)小于3的文本區(qū)域,根據(jù)文本區(qū)域外接矩形的長寬比判斷排版方向;對于字符行(列)數(shù)大于等于3的文本區(qū)域,根據(jù)異常投影柱的數(shù)目及其統(tǒng)計(jì)位置判斷排版方向;無法判斷的通過正常投影柱間距的一階距判斷文本排版方向;再無法判斷排版方向的通過文本字符的縮進(jìn)判斷排版方向;最后仍然無法判斷排版方向的區(qū)域放棄判斷。本發(fā)明能夠準(zhǔn)確判斷正常文本區(qū)域是橫排還是豎排,而且能夠準(zhǔn)確判斷存在小角度傾斜或輕微幾何畸變的文本區(qū)域是橫排還是豎排,判斷效果好,速度快,具有良好的應(yīng)用價(jià)值。
文檔編號G06K9/20GK101882215SQ20091008486
公開日2010年11月10日 申請日期2009年5月25日 優(yōu)先權(quán)日2009年5月25日
發(fā)明者李永彬 申請人:漢王科技股份有限公司