亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用來分析表格圖像的系統(tǒng)的制作方法

文檔序號:6416191閱讀:254來源:國知局
專利名稱:用來分析表格圖像的系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用來分類文檔圖像區(qū)域的頁面分段系統(tǒng)。更具體地說,本發(fā)明涉及一種用來辨別和定義表格圖像內(nèi)的特征的塊選擇系統(tǒng)。
共同轉(zhuǎn)讓的美國申請No.07/873,012,現(xiàn)在的美國專利No.5,680,479,標題為“用于字符識別的方法和設(shè)備”;序號No.08/171,720,現(xiàn)在的美國專利No.5,588,072,標題為“用來選擇存儲文檔中的文本和/或非文本塊的方法和設(shè)備”;序號No.08/338,781,標題為“頁面分析系統(tǒng)”;序號No.08/514,252,標題為“特征抽取系統(tǒng)”;及序號No.08/664,674,標題為“用來抽取附加文本的系統(tǒng)”;包括在這里,就象完整描述那樣。
常規(guī)的頁面分段系統(tǒng)應(yīng)用于文檔圖像,以便辨別包含在文檔圖像特定區(qū)域內(nèi)的數(shù)據(jù)類型。這種信息能用來抽取特定區(qū)域內(nèi)的數(shù)據(jù),和用來確定要應(yīng)用于抽取數(shù)據(jù)的處理類型。
對于包含表格圖像的文檔,位于表格圖像內(nèi)的文本區(qū)域、或表格單元能用光學字符識別(OCR)處理轉(zhuǎn)換成ASCII字符,并且與對應(yīng)于表格單元位置的信息一道存儲在ASCII文件中。然而,常規(guī)的系統(tǒng)不能準確地確定對應(yīng)于表格單元的行和列地址。于是,識別的ASCII字符不能根據(jù)行和列地址數(shù)據(jù)可靠地輸入到電子表格。
此外,由常規(guī)系統(tǒng)產(chǎn)生的數(shù)據(jù)經(jīng)常不足以適當?shù)刂匦陆⑽粓D表格圖像的內(nèi)部特征。例如,數(shù)據(jù)不反映所分析的表格圖像內(nèi)的垂直和水平網(wǎng)格線。如這里定義的那樣,垂直和水平網(wǎng)格線定義表格內(nèi)的每個行和列,并且能可以是可見的或不可見的。因此,盡管常規(guī)的系統(tǒng)能用來建立位圖表格的ASCII版本,但ASCII版本不包括代表表格網(wǎng)格線的數(shù)據(jù)。于是,存儲的數(shù)據(jù)不能用來準確地重新建立表格內(nèi)網(wǎng)格線的位圖版本。況且,在希望編輯表格單元內(nèi)的文本的情況下,難以根據(jù)常規(guī)系統(tǒng)提供的信息,來確定編輯的文本是否與網(wǎng)格線相交而由此違反行/列邊界。
因而,所需要的正是一種用來準確辨別和表示位圖表格圖像的內(nèi)部特征,如行、列、和表格網(wǎng)格線,的系統(tǒng)。
本發(fā)明通過辨別位圖表格圖像內(nèi)的超級單元解決了以上問題。超級單元是以可見表格網(wǎng)格線為邊界的表格圖像的區(qū)域,并且包括一個或多個表格單元。便利的是,辨別的超級單元的位置和尺寸能用來重新建立表格圖像可見網(wǎng)格線的位像。此外,通過參照圍繞表格單元的超級單元的尺寸,能夠確定表格單元的編輯文本是否會使編輯的文本與網(wǎng)格線相交。
根據(jù)一個方面,本發(fā)明是一種用來在表格的位像上進行塊選擇的系統(tǒng),表格由排列成行和列的表格單元組成,行和列由可見的和不可見的網(wǎng)格線定義。該系統(tǒng)辨別包括一個或多個表格單元的超級單元,其中根據(jù)圍繞表格單元和以可見網(wǎng)格線為邊界的跟蹤白色區(qū)域辨別超級單元,該系統(tǒng)還確定限定每個表格單元的垂直和水平網(wǎng)格線是可見的還是不可見的,并且確定限定每個超級單元的垂直和水平網(wǎng)格線是可見的還是不可見的。
根據(jù)上述內(nèi)容,本發(fā)明確定能用來基本上重新建立表格圖像的內(nèi)部特征的信息。況且,確定的信息能存入或者與ASCII文件一道存入,以便提供整個表格圖像的準確表示。
在另一個方面,表格圖像內(nèi)的行通過這樣來辨別1)檢測表格圖像內(nèi)反相文本的區(qū)域;2)計算表格圖像內(nèi)連通元的水平直方圖,直方圖不反映檢測區(qū)域內(nèi)的連通元;3)根據(jù)水平直方圖定義表格圖像內(nèi)的行;及4)根據(jù)跟蹤白色區(qū)域的位置和相對于定義行的部分網(wǎng)格線,重新定義行。
作為上述方面的結(jié)果,能準確地辨別表格單元,并且把表格單元輸入到電子表格的適當行。
在一個有關(guān)的方面,表格圖像內(nèi)的列通過這樣來辨別1)檢測表格圖像內(nèi)反相文本的區(qū)域;2)計算表格圖像內(nèi)連通元的垂直直方圖,直方圖不反映檢測區(qū)域內(nèi)的連通元;3)根據(jù)垂直直方圖定義表格圖像內(nèi)的列;及4)根據(jù)跟蹤白色區(qū)域的位置和相對于定義列的部分網(wǎng)格線,重新定義列。
根據(jù)上述方面,包含在表格單元中的數(shù)據(jù)能準確地抽取,并且輸出到電子表格應(yīng)用程序中。此外,根據(jù)存在的行和列,能容易地把附加單元添加到表格上。
已經(jīng)提供了該簡要總結(jié),從而可以迅速理解本發(fā)明的本質(zhì)。通過結(jié)合附圖參照本發(fā)明最佳實施例的如下詳細描述,能得到本發(fā)明的更完整理解。


圖1表示實施本發(fā)明的代表性計算設(shè)備。
圖2是方塊圖,表明采用本發(fā)明的計算機的內(nèi)部構(gòu)造。
圖3是流程圖,描述根據(jù)本發(fā)明的塊選擇處理。
圖4是流程圖,描述根據(jù)本發(fā)明的非文本連通元的分類。
圖5是流程圖,特別面向表格圖像的塊選擇處理。
圖6是帶有反相區(qū)域的表格圖。
圖7是流程圖,描述根據(jù)本發(fā)明的反相表格區(qū)域的處理。
圖8是表格部分的視圖,用來描述附加連通元的抽取。
圖9包括圖9a和9b,是描述根據(jù)本發(fā)明的表格列計算的流程圖。
圖10包括圖10a和10b,表明在本發(fā)明的表格列計算中使用的垂直直方圖。
圖11包括圖11a至11h,表示在根據(jù)本發(fā)明的表格列計算期間考慮的各種直方圖配置。
圖12包括圖12a至12c,表明根據(jù)本發(fā)明的表格列計算。
圖13是流程圖,描述根據(jù)本發(fā)明的表格行計算。
圖14表明根據(jù)本發(fā)明的表格行計算。
圖15是流程圖,描述根據(jù)本發(fā)明用來定位垂直和水平網(wǎng)格線的過程。
圖16包括圖16a和16b,表明根據(jù)本發(fā)明的垂直網(wǎng)格線計算。
圖17是流程圖,描述根據(jù)本發(fā)明的超級單元建立。
圖18包括圖18a和18b,表明根據(jù)本發(fā)明的超級單元建立。
圖19包括圖19a至19c,表明根據(jù)本發(fā)明的在列拆分期間考慮的垂直直方圖配置。
圖20是表格部分的視圖,用來描述根據(jù)本發(fā)明的行拆分。
圖21包括圖21a和21b,是流程圖,用來描述根據(jù)本發(fā)明的表格單元列和行拆分。
圖22包括圖22a和22b,表明根據(jù)本發(fā)明的列調(diào)節(jié)。
圖23是表格部分的視圖,用來描述根據(jù)傾斜網(wǎng)格線的列地址調(diào)節(jié)。
圖24是在根據(jù)本發(fā)明的列地址調(diào)節(jié)之后的圖23的表格部分的視圖。
圖25是流程圖,描述根據(jù)本發(fā)明的虛超級單元的建立。
圖26包括圖26a和26b,表明根據(jù)本發(fā)明的超級單元孔補償。
圖27表示根據(jù)本發(fā)明的虛單元。
圖28包括圖28a和28b,表明表格單元、超級單元、和可見網(wǎng)格線之間的關(guān)系。
圖29包括圖29a和29b,表示用來存儲表示表格圖像的數(shù)據(jù)的層次樹結(jié)構(gòu)。
圖1表示根據(jù)本發(fā)明實施基于塊選擇的表格分析系統(tǒng)的代表性計算設(shè)備的外觀。
表示在圖1中的是計算設(shè)備1,如帶有諸如微軟Windows95之類的視窗操作系統(tǒng)的IBM PC或PC兼容計算機。計算設(shè)備1裝有單色或彩色顯示監(jiān)視器2,計算設(shè)備1利用它向用戶顯示圖像。計算設(shè)備1還裝有用來存儲數(shù)據(jù)文件和應(yīng)用程序文件的固定盤驅(qū)動器3、用來輸入文本數(shù)據(jù)和用來操縱顯示在顯示器屏幕2上的對象的鍵盤5、及鼠標之類的指點裝置6,提供指點裝置6用來指向和操縱顯示在顯示器屏幕2上的對象。
計算系統(tǒng)1還包括用來從軟盤讀和向其寫的軟盤驅(qū)動器4。包括表格圖像的文檔圖像文件、以及實施本發(fā)明的計算機可執(zhí)行過程步驟,可以存儲在固定盤3上或插入在軟盤驅(qū)動器4中的軟盤上。另外,文檔圖像文件和/或計算機可執(zhí)行過程步驟可以從經(jīng)CD-ROM驅(qū)動器(未表示)存取的CD-ROM得到。
計算設(shè)備1還提供有用來與局域網(wǎng)接口的網(wǎng)絡(luò)接口10、和用來發(fā)送和接收傳真信息和其他數(shù)據(jù)文件的傳真/調(diào)制解調(diào)器接口11。文檔圖像文件和實施本發(fā)明的計算機可執(zhí)行過程步驟,可以在網(wǎng)絡(luò)上經(jīng)網(wǎng)絡(luò)接口10存取。此外,傳真/調(diào)制解調(diào)器接口11也能用來從萬維網(wǎng)(下文為WWW)檢索圖像和/或計算機可執(zhí)行過程步驟。
最典型的是,存儲在固定盤3上的應(yīng)用程序,包括根據(jù)本發(fā)明的塊選擇應(yīng)用程序,在從諸如軟盤、CD-ROM、網(wǎng)絡(luò)驅(qū)動器、或WWW之類的計算機可讀介質(zhì)上下載之后,存儲到盤3。
文檔圖像可以由掃描儀7輸入,掃描儀7掃描文檔以便把文檔的位像數(shù)據(jù)提供給計算設(shè)備1。包括位圖表格圖像數(shù)據(jù)的位像數(shù)據(jù)可以以壓縮或非壓縮格式存儲到固定盤3上。
提供打印機9,用來輸出由計算設(shè)備1處理的文檔圖像。
在操作中、及在視窗操作系統(tǒng)的控制下,選擇性地啟動存儲的應(yīng)用程序,如根據(jù)本發(fā)明的塊選擇應(yīng)用程序,以處理存儲的數(shù)據(jù)。按照操作者指令,并且根據(jù)存儲的應(yīng)用程序,向屏幕2上的顯示圖像發(fā)出命令,并且用打印機9打印顯示的圖像。
圖2是詳細的方塊圖,表示計算設(shè)備1的內(nèi)部結(jié)構(gòu)。如圖2中所示,計算設(shè)備1包括一個中央處理單元(CPU)20,如編程的微處理器,與計算機總線21接口。與計算機總線21接口的還有掃描儀接口22、打印機接口23、網(wǎng)絡(luò)接口24、傳真/調(diào)制解調(diào)器接口26、顯示器接口27、鍵盤接口28、和鼠標接口29。
主存儲器30,如隨機存取存儲器(RAM),與計算機總線21接口,以便向CPU20提供對于存儲器存儲的存取。特別是,當執(zhí)行諸如那些存儲在盤3上的計算機可執(zhí)行過程步驟時,CPU20把這些步驟從盤3或其他存儲介質(zhì)加載到主存儲器30中,并且執(zhí)行來自主存儲器30的這些過程步驟。
只讀存儲器(ROM)31用來存儲計算機可執(zhí)行過程步驟,如在引導(dǎo)期間使用的那些,或用于例如鍵盤5的操作的基本輸入/輸出操作系統(tǒng)(BIOS)序列。
圖3是流程圖,描述一種根據(jù)本發(fā)明的塊選擇處理的方法。圖3中所示的過程步驟,最好由CPU20按照存儲在諸如盤3之類的計算機可讀介質(zhì)上的塊選擇應(yīng)用程序執(zhí)行。
一般地,圖3的過程步驟用來輸入文檔圖像、檢測文檔圖像內(nèi)的連通元、分隔文本和非文本連通元、分類非文本連通元、辨別沿非文本成份邊緣的白色區(qū)域、形成文本塊和文本行、檢測輸入圖像的傾斜、及后處理圖像。用來完成這些一般步驟的技術(shù)公開在上述的美國專利Nos.5,680,479和5,588,072中。
應(yīng)該注意,圖3的過程步驟還用來辨別表格內(nèi)的反相文本區(qū)域,這些區(qū)域是其中文本由黑色像素包圍的白色像素組成的文本區(qū)域;辨別附加的文本連通元;建立和計算用于表格單元和超級單元的地址,超級單元是在由表格內(nèi)可見垂直和/或水平網(wǎng)格線包圍的表格區(qū)域內(nèi)、且包含至少一個表格單元的區(qū)域;檢查可見單元邊界的存在;及根據(jù)本發(fā)明確定表格網(wǎng)格線的位置。在這方面,表格內(nèi)的網(wǎng)格線或者是可見的或者是不可見的,并且還定義在表格內(nèi)辨別的每個行和列。
準確地說,在圖3的步驟S301,文檔的位圖像素數(shù)據(jù)輸入到計算系統(tǒng)1中,并且存儲在盤3上。最好,像素數(shù)據(jù)是二進制像素數(shù)據(jù),即黑白圖像數(shù)據(jù)。然而,在圖像數(shù)據(jù)是半色調(diào)圖像數(shù)據(jù)的情況下,其中像素由幾個灰度級之一表示,或者在像素數(shù)據(jù)是彩色圖像數(shù)據(jù)的情況下,其中每個像素由用于像素的多位字編碼彩色數(shù)據(jù)表示,那么應(yīng)該進行閾值處理,以便把非二進制像素數(shù)據(jù)二進制化成二進制像素數(shù)據(jù)。
應(yīng)該注意,圖像縮減可以在步驟S301之后進行。這種圖像縮減增大了以后的處理速度,但可能對特征集中處理,如光學字符識別,有不利影響。
在步驟S302,分析輸入像素數(shù)據(jù),以便檢測文檔圖像內(nèi)的連通元。連通元是完全由白色像素包圍的黑色像素組。通過對每個連通元定義限定連通元的最小矩形,矩形化或“塊化”檢測的連通元。
在步驟S304,把連通元粗略地分類成文本連通元和非文本連通元。這種分類基于限定連通元的矩形尺寸,和基于非文本連通元通常大于文本連通元的事實。步驟S301、S302、和S304的詳細描述位于上述的美國專利Nos.5,588,072和5,680,479中。
在步驟S305,進一步分析在步驟S304分類為非文本的連通元,以確定他們是否是線、接合線、畫面、藝術(shù)線(lineart)、幀、表格、或未知(即以上哪個也不是)。
圖4是流程圖,描述根據(jù)步驟S305用來分析非文本連通元的方法。因為在美國專利Nos.5,588,072和5,680,479中更詳細地描述了圖4的各步驟,所以下面將僅提供一般的描述。
一般地,圖4中描述的非文本連通元分類,基于根據(jù)分析的連通元的大小、寬度等而數(shù)學公式化和動態(tài)計算的標準閾值。因而,在步驟S401,分析非文本連通元,以確定它是否是半色調(diào)(或連續(xù)色調(diào))畫面。如果是,則流程前進到步驟S402,在此點把“半色調(diào)(或連續(xù)色調(diào))畫面”子屬性分配給非文本連通元。
如果在步驟S401確定非文本連通元不是半色調(diào)畫面,則流程前進到步驟S404,其中確定非文本連通元是否是幀。如果是,則流程前進到步驟S405,在此時把“幀”子屬性分配給連通元。如果在步驟S404的確定是否定的,則流程前進到步驟S406,其中確定非文本連通元是垂直線還是水平線。在確定連通元為垂直線或水平線時,處理過程前進到步驟407。在步驟S407,把“水平線”或“垂直線”子屬性分配給非文本連通元。
在步驟S406確定非文本連通元不是垂直線或水平線的情況下,執(zhí)行步驟S409。在步驟S409,確定非文本連通元是否是表格。簡短地說,為了確定非文本連通元是否是表格,在四個方向跟蹤連通元的內(nèi)部白色區(qū)域。內(nèi)部白色區(qū)域是由黑色像素完全包圍的白色像素的區(qū)域。如果發(fā)現(xiàn)四個內(nèi)部白色區(qū)域,并且如果白色區(qū)域的排列在表格狀網(wǎng)格中,從而白色區(qū)域由垂直和水平線包圍,那么在步驟S410,把非文本連通元指定為表格。用來確定連通元是否是表格的更詳細描述可以在美國專利No.5,588,072、美國專利No.5,680,479和美國專利申請No.08/514,252中找到。
而且在步驟S410,按照步驟S302和S304重新分析辨別表格的內(nèi)部,以便辨別和分類表格內(nèi)部的文本和非文本連通元。
如果在步驟S409確定非文本連通元不是表格,則流程前進到步驟S412,其中確定非文本連通元是否是斜線。如果是,則在步驟S414把“斜線”子屬性分配給非文本連通元。
如果在步驟S412的確定是否定的,則流程前進到步驟S415,其中確定非文本連通元是線性藝術(shù)畫面(line-art picture)還是接合線。如果非文本連通元不是線性藝術(shù)畫面或接合線,則流程前進到步驟S416,其中把未知屬性分配給連通元。如果是,則流程前進到步驟S417,其中確定非文本連通元是否是接合線。
如果非文本連通元不是接合線,那么在步驟S419,把非文本連通元指定為線性藝術(shù)畫面。如果在步驟S417確定非文本連通元是接合線畫面,則流程前進到步驟S420,其中把“接合線”子屬性分配給成份。流程然后前進到步驟S421。
應(yīng)該注意,步驟S402、S405、S407、S410、S414、S416、及S419的每一個也進行到步驟S421,其中確定另外的非文本連通元是否剩余有要分類的。如果是,則流程返回步驟S401。如果不是,則流程前進到圖3的步驟S306。
在步驟S306,與非文本連通元的邊緣一道辨別不可見線。如上所述,不可見線辨別詳細公開在美國專利Nos.5,588,072和5,680,479中。例如,垂直不可見線、或白色像素的區(qū)域可以在步驟S306定位在兩個半色調(diào)畫面連通元之間。這條不可見線能用來在步驟S308,確定位于畫面連通元下面的文本連通元是應(yīng)該一起成組還是以隔離柱狀塊分組。
流程從步驟S306前進到步驟S07,其中辨別表格區(qū)域內(nèi)的反相區(qū)域。反相區(qū)域是包括由黑色像素包圍的白色像素組成的文本的區(qū)域。根據(jù)本發(fā)明在以下處理中拒絕表格區(qū)域內(nèi)的反相區(qū)域,以便不影響其他表格特征的辨別。反相區(qū)域辨別的詳細描述在下面相對于圖6和7給出。
而且在步驟S307,辨別附加到表格區(qū)域內(nèi)的水平和垂直網(wǎng)格線的連通元。附加連通元的辨別和抽取一般在下面相對于圖8描述,并且在共同授予的美國專利申請No.08/664,674中詳細描述,該申請通過參考包括在本公開中。而且如下面描述的那樣,辨別的附加成份根據(jù)本發(fā)明用來辨別表格內(nèi)的其他特征。
流程繼續(xù)到步驟S308,其中由在步驟S304分類的文本連通元形成文本塊。在這方面,根據(jù)相鄰文本單元之間的水平和垂直空隙的統(tǒng)計分析,把每個文本連通元的封閉水平和垂直相鄰部分聚集到文本塊中。其次,分析形成的文本塊以便形成文本行。在美國專利No.5,588,072中詳細描述了步驟S308。
其次,在步驟S309,按照本發(fā)明執(zhí)行過程步驟,以便分析已經(jīng)指定為表格的非文本連通元。更具體地說,辨別表格內(nèi)的行和列,并且把行和列地址分配給表格內(nèi)的每個表格單元。下面相對于圖9至14詳細描述行和列地址辨別和分配。
此外,在步驟S309計算垂直和水平表格網(wǎng)格線的位置,網(wǎng)格線定義每個辨別行和列,并且是可見和不可見的。下面相對于圖15和16給出網(wǎng)格線計算的描述。
在步驟S309還根據(jù)以可見網(wǎng)格線為邊界的、且包含至少一個表格單元的表格區(qū)域定義超級單元。把行和列地址分配給超級單元,并且辨別包圍每個超級單元的可見網(wǎng)格線邊界。下文相對于圖17和18描述超級單元的建立和可見邊界的辨別。
其次,在步驟S310,檢測輸入文檔圖像的傾斜,并且如果傾斜角超過預(yù)定最大角度,則輸出差錯代碼,向用戶發(fā)信號文檔頁面太傾斜而不能完成塊選擇處理。傾斜檢測公開在美國專利Nos.5,588,072和5,680,479中。
如果傾斜在可接收的極限內(nèi),則流程前進到步驟S311,其中進行后處理。后處理也公開在美國專利Nos.5,588,072和5,680,479中。后處理打算產(chǎn)生文檔圖像的更緊湊和“清晰”的塊表示,并且能裁剪以適合具體類型的以后處理,如字符識別、數(shù)據(jù)壓縮等。然而,一般地,后處理涉及使文本塊與其他文本塊或非文本塊有關(guān)。
便利的是,后處理程序取決于在步驟S310確定的頁面傾斜。例如,在頁面只有輕微傾斜的情況下,良好地定義文本塊之間的間隙。于是,聚合地組合諸塊。在另一方面,對于有較大傾斜的頁面,限定矩形可能重迭幾個文本區(qū)域,因此較保守地組合矩形。塊選擇在后處理之后終止。
圖3過程步驟的執(zhí)行產(chǎn)生文檔圖像內(nèi)數(shù)據(jù)的位置和類型的詳細表示。結(jié)果,圖3的過程步驟能結(jié)合光學字符識別系統(tǒng)使用,以便識別由表格內(nèi)位像數(shù)據(jù)表示的字符,以把字符轉(zhuǎn)換成ASCII格式,并且根據(jù)確定的行和列表格地址,把ASCII字符輸入到電子表格程序中。此外,圖3的過程確定由其能基本復(fù)制諸如表格網(wǎng)格線之類的表格內(nèi)部特征的信息。
圖5是流程圖,更詳細地描述圖3流程圖的步驟,特別注意表格特征的分析。在這方面,步驟S501和S502對應(yīng)于圖3的步驟S301、S302、S304和S305。具體地說,在步驟S501輸入文檔圖像,并且在步驟S502檢測和成塊文檔圖像內(nèi)的連通元。
在步驟S503,如相對于步驟S304和S305在以上描述的那樣,辨別表格以及表格內(nèi)的文本塊。其次,在步驟S504,還辨別沿表格邊緣的不可見線,以便在以后的文本塊形成時使用。
在步驟S505辨別主題表格內(nèi)的反相文本區(qū)域。如上所述,根據(jù)本發(fā)明,作為包含由黑色像素包圍的白色像素組成的文本的區(qū)域的反相區(qū)域,是在以后表格處理期間拒絕的區(qū)域。圖6a表示表格40內(nèi)的反相區(qū)域42。區(qū)域42內(nèi)的斜線表示黑色像素的區(qū)域,黑色像素如此排列以便形成區(qū)域42內(nèi)的詞“TITLE(標題)”。表示在圖6a中的還有由虛線表示的白色區(qū)域,這些虛線在表格40的辨別期間使用,如相對于以上步驟S409描述的那樣。
為了辨別反相區(qū)域,流程圖在步驟S701開始,其中計算表示在表格中的每行像素內(nèi)由白色邊界對跨越的總距離的水平直方圖。在這方面,邊界對是由白色區(qū)域邊界(圖6a中的虛線)與像素特定行的交叉確定的坐標定位。圖6b表示直方圖44,直方圖44由步驟S701形成并且對應(yīng)于表格40。
流程然后前進到步驟S702。從表格40的頂部開始,在步驟S702分析每行像素,使用表格40的尺寸和在直方圖44中反映的數(shù)據(jù),以確定在表格中像素行內(nèi)白色邊界對之間的總距離是否小于由行跨越的總距離的一半。如果對于N個連續(xù)分析行滿足上述條件,其中N是閾值,則流程前進到步驟S704。
在表格40的情況下,區(qū)域42中的行數(shù)大于N,因此流程前進到步驟S704。如果沒有找到N個連續(xù)這樣的行,則流程前進到圖5的步驟S506。
在步驟S704,在步驟S702辨別的N行內(nèi),辨別跟蹤白色區(qū)域。這些區(qū)域?qū)?yīng)于形成在區(qū)域42內(nèi)的每個字母。其次,在步驟S706,把每個識別白色區(qū)域的尺寸與閾值尺寸相比較。最好定義閾值尺寸,以便把文本字符或小的圖像噪聲與較大的特征區(qū)別開。如果辨別白色區(qū)域的尺寸比閾值尺寸小,則在步驟S707確定在以后的表格處理期間應(yīng)該拒絕白色區(qū)域。結(jié)果,在利用主題表格內(nèi)的白色區(qū)域的以后處理期間,不考慮白色區(qū)域。流程然后繼續(xù)到步驟S709。
如果在步驟S706,辨別白色區(qū)域的尺寸不小于閾值尺寸,則確定白色區(qū)域不對應(yīng)于反相文本,并且流程前進到步驟S709。
在步驟S709,確定在步驟S704辨別的每個白色區(qū)域是否已經(jīng)與閾值尺寸比較。如果沒有比較,則流程返回步驟S706,并且按上述進行。如果已經(jīng)比較,則流程前進到步驟S710。
其次,在步驟S710,確定是否已經(jīng)分析了表格40的最后行。如果沒有,則流程返回步驟S702。然而,如果已經(jīng)分析了表格40的每一行,則流程前進到步驟S506。
在步驟S506,辨別和抽取附加到表格內(nèi)網(wǎng)格線上的連通元。用來進行這樣的辨別和抽取的系統(tǒng)在上述的美國專利申請No.08/664,674中描述,并且在下面僅簡要地進行描述。
在這方面,圖8表示在所有側(cè)由可見表格網(wǎng)格線包圍的表格50。在表格區(qū)域50內(nèi)有其他的可見表格網(wǎng)格線,完全由黑色像素包圍的每個白色區(qū)域由虛線辨別。如圖8中所示,可見網(wǎng)格線的幾根包括經(jīng)常由較差的打印、較差的掃描等引起的空隙。這些空隙定義部分網(wǎng)格線51、52、和53,也稱作附加連通元。由于跟蹤白色區(qū)域54的點56和58最近,所以抽取連通元52,就是說,把連通元52辨別為與表格區(qū)域50的垂直和水平網(wǎng)格線分開的連通元。以相同的方式抽取連通元51和53。下面詳細描述抽取的附加連通元的使用。
返回圖5,在步驟S507,如相對于步驟S308所描述的那樣,根據(jù)位于輸入文檔圖像內(nèi)的每個表格外的連通元,形成文本塊和文本行。類似地,在步驟S509,根據(jù)位于每個表格內(nèi)的文本連通元,形成文本塊和文本行。最好,在步驟S507,檢查文本塊,以確定文本塊是垂直取向還是水平取向,并且根據(jù)確定結(jié)果形成文本行。在另一方面,在步驟S509最好形成水平文本行。
在表格內(nèi)形成的每個文本塊下文稱作表格單元。在這方面,如上所述,不與表格塊內(nèi)其他文本連通元結(jié)合的文本連通元在這里也稱作表格單元。其次,在步驟S510,計算表格列,并且把列地址分配給表格單元。
圖9a和9b是詳細的流程圖,用來描述步驟S510的過程。圖9a和9b的流程利用表格的垂直直方圖,以便辨別表格列,并且便利地忽略可能中斷適當列辨別的標題區(qū)域。
在這方面,在步驟S901,確定主題表格是否包含多于四個文本行。如果是,則把最頂部文本行假定為標題行,并且在列辨別期間忽略。
例如,如圖10中所示,在步驟S901確定表格60包含有多于四行的文本行。于是,流程前進到步驟S902。在步驟S902,計算垂直直方圖,如圖10b的垂直直方圖70。如上所述,計算垂直直方圖70,忽略假定是標題的最頂部文本行61。如果在步驟S901的判定是否定的,則流程直接前進到步驟S904,其中計算垂直直方圖,而忽略主題表格中的任何文本行。
應(yīng)該注意,圖9a中描述的垂直直方圖,對于表格60中的每列像素,反映由矩形(未表示)跨越的總垂直距離,矩形限定表格60內(nèi)的、且相對于步驟S302和S502描述的每個連通元。例如,諸如網(wǎng)格線64和66之類的垂直和水平網(wǎng)格線不由限定矩形成塊,并因此不對垂直直方圖70中反映的數(shù)據(jù)產(chǎn)生影響。然而,還應(yīng)該注意,在步驟S506辨別和抽取的連通元是“成塊的”,并因此反映在根據(jù)步驟S904或S902計算的直方圖中。例如,附加連通元68由直方圖70的部分71反映。
在步驟S905,從直方圖70的最左點開始,計算其上計算直方圖反映少量黑色像素的距離P_gap、反映較多像素且緊接著P_gap的直方圖部分W、及反映少量像素且緊接著W的直方圖部分N_gap。例如,P_gap、W、和N_gap初始分別對應(yīng)于直方圖70的區(qū)域72、74、和75。然后根據(jù)各位置和P_gap、W、及N_gap的尺寸分配列。
根據(jù)步驟S906至S916(表示在圖9b中),從左向右分析表格。在這方面,步驟S906至S916確定對應(yīng)于當前W的表格區(qū)是否應(yīng)該包括在當前列中,新列是否應(yīng)該定義為包括當前W,或新列是否應(yīng)該定義為忽略當前W。
初始,在步驟S906確定W是否大于閾值,閾值最好反映小的文本字符尺寸。如果大于閾值,則流程前進到步驟S907,其中確定P gap是否是窄的。如果P_gap不是窄的,則流程前進到步驟S917,其中把新列定義為包括W。這種W和P_gap的配置表明在圖11a中。
如果在步驟S907確定P_gap是窄的,則流程前進到步驟S909,其中把當前列的定義擴展為包括W。這種情形表示在圖11b中。流程然后返回步驟S905。
如果在步驟S906確定W不大于閾值,則流程前進到步驟S910,其中確定P_gap是否是寬的。如果是,則流程前進到步驟S911,其中確定W是否反映切開的連通元,如表格50的連通元52。如果W不反映切開的連通元,則流程前進到步驟S917,其中定義一個包括W的新列,圖11c表示這種情形。
如果在步驟S911,確定W反映切開的連通元,如圖11d中所示,則在P_gap的左邊緣處定義當前列的最右邊界,并且流程返回步驟S905,以定義新的P_gap、W、和N_gap。于是,反映的切開連通元不包括在任何定義列中。
返回步驟S910,如果確定P_gap不是寬的,則流程前進到步驟S912。在步驟S912,確定N_gap是否是寬的。如果不是,則流程前進到步驟S914,其中確定當前列是否是主題表格中的第一列。如果是,則流程前進到步驟S917,如上述的那樣。這樣一種情形反映在圖11e中,其中定義當前列以在n_gap的初始點處終止。
如果在步驟S914,確定當前列不是主題表格中的第一列,則流程前進到步驟S915,其中把當前列擴展為包括W。這樣一種情形表示在圖11f中。流程然后返回步驟S905。
如果在步驟S912確定n_gap是寬的,則流程前進到步驟S916,其中確定W是否反映切開的連通元。如果不是,則流程前進到步驟S915,以便把表示在圖11g中的W包括到當前列中。如果在步驟S916的確定是肯定的,則在P_gap的左邊緣處定義當前列的最右邊界,并且流程簡單返回步驟S905,以忽略切開連通元。這樣一種情形表示在圖11h中。
返回圖9a,流程從步驟S917前進到步驟S918。如果反映主題表格的直方圖的最右部分已經(jīng)到達這點處,則流程繼續(xù)到步驟S920。如果不是,則流程返回步驟S905。
在到達步驟S920時,在主題表格內(nèi)定義幾個列。這些列從左向右順序地定地址,并且根據(jù)左和右X坐標邊界定義。在這方面,圖12a和12b表示表格76和相應(yīng)列定義A和B。如圖12b中所示,并且由于表格單元79,列A應(yīng)該分解成兩個單獨的列。步驟S920和S921意味著解決這種問題。
在步驟S920,檢查檢測的白色區(qū)域和切開垂直網(wǎng)格線的左和右邊界,以確定這些特征是否靠近任何定義的列邊界布置。如果靠近,則流程繼續(xù)到步驟S922。如果任何檢測的白色邊界或切開網(wǎng)格線不靠近列邊界,則流程前進到步驟S921,其中繞白色邊界或切開網(wǎng)格線定義一個新列。于是然后更新所有列地址。
圖12c表示步驟S921之后的表格76的列定義。特別是,因為白色區(qū)域78的右邊界不靠近任何定義列的邊界,所以鄰近區(qū)域78的右邊界定義一個新列B。于是,把以前列B的地址更新到列C。
其次,在步驟S922,給每個表格單元分配一個對應(yīng)于由表格單元跨越的列位置的列地址。在某些情況下,分配的列地址可以包括一系列列地址。例如,給表格單元77分配列地址A,而給表格單元79分配列地址A至B。流程從步驟S922前進到步驟S511,以便計算表格行地址,并且把行地址分配給表格單元。
圖13是詳細流程圖,描述在步驟S511執(zhí)行的、以計算表格行和把行地址分配給表格單元的過程步驟。流程在步驟S1301開始,其中建立主題表格的水平直方圖。圖14表明主題表格80和按照步驟S1301建立的水平直方圖86。水平直方圖86對于表格80中每行像素,反映由限定表格80內(nèi)每個連通元的矩形(未表示)跨越的水平距離。
在這方面,直方圖86的峰寬pw1反映表格單元81和82,峰寬pw2反映表格單元84,及峰寬pw3反映表格單元83。谷寬vw1和vw2分別指示峰寬pw1與峰寬pw2之間、和峰寬pw2與峰寬pw3之間的區(qū)域。
在步驟S1302,初始檢查直方圖86中的最高峰。具體地說,確定當前行中的初始峰寬pw是否大于閾值,該閾值最好指示最小字符尺寸;及下一個谷寬VW是否大于第二閾值,第二閾值最好指示最小行距。如果滿足兩個條件,則流程前進到步驟S1304,其中對應(yīng)于下一個遇到的峰定義一個新的行。如果在步驟S1302不滿足條件之一,則流程前進到步驟S1305,其中擴展當前行以便包括下一個遇到的峰。在任何情況下,流程都從步驟S1304和步驟S1305前進到步驟S1306。
在步驟S1306,確定另外的水平直方圖是否存在。如果存在,則流程返回步驟S1302。如果不存在,則流程前進到步驟S1307。
在步驟S1307,辨別表格80內(nèi)的水平白色區(qū)域邊界和附加的水平網(wǎng)格線。類似于上述的步驟S920至S922,在辨別白色區(qū)域邊界或網(wǎng)格線不靠近任何行邊界的情況下,定義一個新行,并因而更新行地址。流程然后前進到步驟S512。
在步驟S512,計算垂直和水平網(wǎng)格線位置。圖15是流程圖,詳細描述步驟S512的過程步驟。流程在步驟S1501開始,其中確定當前和相鄰列是否每個由對應(yīng)的跟蹤白色區(qū)域包圍。如果是,則流程前進到步驟S1502。在步驟S1502,確定相應(yīng)白色區(qū)域之間的距離。其次,在步驟S1504,如果在步驟S1502確定的距離不小于閾值距離,則流程前進到步驟S1505,其中計算垂直網(wǎng)格線坐標。如果在步驟S1504確定該距離小于閾值,則流程前進到步驟S1506,最好根據(jù)與在步驟S1505使用的不同的公式,計算垂直網(wǎng)格線坐標。
如果在步驟S1501確定對應(yīng)于鄰近列的白色區(qū)域不存在,則流程前進到步驟S1510,其中使用與在步驟S1505和步驟S1506使用的不同的公式,計算垂直網(wǎng)格線坐標。流程然后前進到步驟S1511,在這里確定更多的列是否存在。如果存在,則流程返回步驟S1501。如果不存在,則流程前進到步驟S1512。
在步驟S1512,使用基本類似于在步驟S1501至S1511描述的那些步驟,計算用于主題表格的水平網(wǎng)格線,盡管轉(zhuǎn)動了90度。
圖16表明用來描述圖15流程的兩個主題表格。相對于圖16a,表格90包含列C1和列C2,列C1由X坐標C1L和C1R限定,而列C2由X坐標C2L和C2R限定。跟蹤白色區(qū)域91對應(yīng)于列C1,且包含邊界b1;而跟蹤白色區(qū)域92對應(yīng)于列C2,且包含邊界b2。
于是,在步驟S1501,確定對應(yīng)于鄰近列C1和C2的白色區(qū)域是否存在。在步驟S1502,確定b1與b2之間的距離。在區(qū)域91和92包含共用公共X坐標的區(qū)域的情況下,例如在傾斜垂直線分離區(qū)域91和92的情況下,把邊界b1定義為區(qū)域91的最右X坐標,而把b2定義為區(qū)域92的最左X坐標。
如果在步驟S1504判定b1與b2之間的距離不是較小,則流程前進到步驟S1505。在一個最佳實施例中,在步驟S1505通過公式min(max(T,C1R),C2L)確定列C1與C2之間的垂直網(wǎng)格線的坐標位置,其中T=max(b1,b2)-1。
如果在步驟S1504判定b1與b2之間的距離較小,則流程前進到步驟S1506,其中計算在min[max((b1+b2)/2,C1R),C2L)]處存在的垂直網(wǎng)格線坐標。
圖16b表示其中列C3由坐標C3L和C3R限定、而其中列C4由坐標C4L和C4R限定的表格95。應(yīng)該理解,因為列C3在兩側(cè)不由可見網(wǎng)格線限定,所以對應(yīng)于列C3不存在白色區(qū)域。于是,在使用圖15中描述的過程步驟檢查列C3和C4作為鄰近列的情況下,在步驟S1501的確定是否定的,并且流程前進到步驟S1510。在步驟S1510,由公式min(T,C4L)確定對應(yīng)于列C3和C4的垂直網(wǎng)格線位置,其中T=max(C3R,b4)-1。
在相對于水平網(wǎng)格線執(zhí)行步驟S1512之后,流程前進到步驟S514,其中辨別超級單元。圖17是詳細的流程圖,用來描述按照步驟S514的超級單元辨別。在這方面,在步驟S1701,辨別對應(yīng)于由主題表格內(nèi)的黑色像素限定的每個白色區(qū)域的超級單元。在存在不由跟蹤白色區(qū)域包圍的表格單元的情況下,在步驟S1701還形成具有表格單元的相同位置和尺寸的“人造”超級單元。其次,在步驟S1702,重新格式化每個人造超級單元,以接近包圍可見或不可見表格網(wǎng)格線的尺寸。流程然后繼續(xù)到步驟S1704。
在步驟S1704,檢查每個超級單元的頂部、底部、左側(cè)、和右側(cè)邊界,以辨別可見網(wǎng)格線是否與邊界相鄰。流程前進到步驟S1705,其中根據(jù)在步驟S510和S511計算的行和列,把行和列地址分配給超級單元。流程從步驟S1705繼續(xù)到步驟S515。
圖18表示主題表格,用來描述圖17的流程圖。在這方面,表格100包含表格單元101、102、104和105。表格單元101不由白色區(qū)域包圍著,因為表格單元101沒有位于完全由黑色像素包圍的區(qū)域中。然而,表格單元102、104和105由白色區(qū)域106、107和109包圍著。
根據(jù)圖17的流程圖,在步驟S1701初始定義對應(yīng)于表格100內(nèi)每個白色區(qū)域的超級單元。于是,定義對應(yīng)于白色區(qū)域106、107和109的超級單元。這些超級單元在圖18b中表示為超級單元115、111和112。如上所述,因為沒有白色區(qū)域包圍著表格單元101,所以還定義一個具有與表格單元101的那些相同的坐標的人造超級單元。
在步驟S1702,根據(jù)如下算法重新格式化人造超級單元,以接近包圍人造超級單元的可見或不可見表格網(wǎng)格線頂部邊界=min(grid(網(wǎng)格)_line(線)_top(頂部),text(文本)_cell(單元)_top(頂部));底部邊界=max(grid(網(wǎng)格)_line(線)_bottom(底部),text(文本)_cell(單元)_bottom(底部));左側(cè)邊界=min(grid(網(wǎng)格)_line(線)_left(左側(cè)),text(文本)_cell(單元)_left(左側(cè)));右側(cè)邊界=max(grid(網(wǎng)格)_line(線)_right(右側(cè)),text(文本)_cell(單元)_right(右側(cè)))。
生成的super(超級)cell(單元)114表示在圖18b中。
其次,在步驟S1704,檢查每個超級單元,以辨別是超級單元邊界的可見網(wǎng)格線。例如,在超級單元114的右側(cè)和底部;在超級單元115的頂部、右側(cè)、左側(cè)和底部;在超級單元112的頂部、右側(cè)、左側(cè)和底部;及在超級單元111的頂部、右側(cè)、左側(cè)和底部;辨別可見網(wǎng)格線。
應(yīng)該注意,在具體超級單元在具體側(cè)由部分可見網(wǎng)格線鄰接的情況下,在步驟S1704確定部分網(wǎng)格線是否超過對應(yīng)于“完整”邊界的長度的_定閾值長度。如果是,則在步驟S1704將確定部分網(wǎng)格線完全鄰接具體超級單元的具體側(cè)。
流程從步驟S1704前進到步驟S1705,其中把行和列地址分配給圖18b的每個超級單元。在圖18b中,超級單元同其各表格單元共用相同的列和行位置。于是,超級單元111、112、114和115還分別共用表格單元104、105、101和102的行和列地址。應(yīng)該注意,在超級單元位于幾個行或列的情況下,超級單元地址將包含行和/或列地址范圍,如(1,2-4)。流程然后前進到步驟S515。
在步驟S515,如果適當,則分開具有行和/或列地址范圍的表格單元。在這方面,以上過程步驟可能導(dǎo)致跨越幾個行或列的表格單元,這些表格單元應(yīng)該更適當?shù)胤诸悶槎啾砀駟卧?。例如,由圖19a、19b、和19c組成的圖19,表明具有列地址范圍的幾個表格單元。類似地,圖20表明具有行地址范圍的表格單元。在這方面,圖21a和21b描述用來分開分別具有列地址范圍和行地址范圍的表格單元的步驟。
為了分開具有列地址范圍的表格單元,流程在步驟S2101開始。在步驟S2101,辨別具有列地址范圍的表格單元。其次,在步驟S2102,計算辨別表格單元的垂直直方圖。垂直直方圖對于辨別表格單元中的每列像素,反映由限定表格單元內(nèi)每個連通元的矩形(未表示)跨越的總垂直距離。流程前進到步驟S2104,其中確定對應(yīng)于表格單元的鄰近列之間的空隙的直方圖的區(qū)域是否反映任何黑色像素。如果反映任何黑色像素,則流程繼續(xù)到步驟S2105。
在步驟S2105,確定對于大于閾值距離的一個連續(xù)距離,列之間的區(qū)域的直方圖是否為零。如果是,則流程前進到步驟S2114,其中確定另外的列是否存在于主題表格的地址范圍內(nèi)。這樣一種情形表明在圖19a中,其中l(wèi)指示在列r與r+1之間的直方圖的連續(xù)非零部分。如果另外的列存在,則流程返回步驟S2104。
當在步驟S2114另外的列不存在的情況下,在步驟S2115確定主題表格是否包含具有列地址范圍的另外表格單元。如果是,則流程返回步驟S2102。如果否,則流程繼續(xù)到圖21b的步驟S2116。
圖19b表明這樣一種情形,其中在圖21a的步驟S2105,確定連續(xù)非零部分m小于閾值。于是,流程前進到步驟S2106,其中確定分開的非零部分是否位于圖19b的列s與s+1之間。如果否,則把表格單元116重新定義為兩個新表格單元,一個具有列地址s,而另一個具有列地址s+1,從而兩個新單元都不包含部分m。
如果在步驟S2106分開的非零部分位于列s與s+1之間,則流程繼續(xù)到步驟S2114,并且按上述的那樣繼續(xù)。
在這樣一種情況下,在步驟S2104,確定主題表格單元的兩列之間的區(qū)域不包含黑色像素,則流程前進到步驟S2110。在步驟S2110,把兩列之間的區(qū)域擴展到兩列中,直到在每列中遇到黑色像素。如圖19c中所示,在表格單元117的列t與t+1之間的區(qū)域n不包含黑色像素。于是,在步驟S2110,在兩個水平方向都擴展區(qū)域n,直到遇到表格單元117內(nèi)的黑色像素。生成的區(qū)域指示為n’。
在步驟S2111,確定諸如區(qū)域n’之類的區(qū)域的長度是否大于閾值。如果是,則在步驟S2112把表格單元117分開成兩個表格單元,并且流程繼續(xù)到步驟S2114。如果否,則流程簡單地前進到步驟S2114,并且最終到圖21b的步驟S2116。
根據(jù)本發(fā)明,圖21b的過程步驟用來分開具有行地址范圍的表格單元。在步驟S2116,檢索具有行地址范圍的主題表格單元。其次,在步驟S2117,檢查行地址范圍內(nèi)的兩行,以確定行之間的距離和行之間的中點。這兩個量由圖20中的row_dist和mid_row表示。
在圖20中,表格單元包括在其行地址范圍內(nèi)的行R1和行R2。行R1的上邊緣由坐標R1U定義,而行R1的下邊緣由坐標R1L定義。類似地,行R2的上邊緣由坐標R2U定義,而下邊緣由坐標R2L定義。如圖20中所示,量mid_row是指R1L與R2U之間的中點。此外,量row_dist是指R1L與R2U之間的距離。
其次,在步驟S2119,確定檢索的表格單元是否包括位于mid_row相對側(cè)上的連續(xù)文本行,及row_dist是否大于閾值尺寸。如果是,則流程前進到步驟S2120,其中在mid_row坐標處把主題表格單元切成兩個單元,兩個單元之一在其行地址中包含行R1,而另一個單元在其行地址中包含行R2。流程然后前進到步驟S2121。
如果在步驟S2119的判定是否定的,則流程也前進到步驟S2121,其中確定主題表格單元是否包含另外的行。如果包括,則流程返回S2117。如果不包括,則流程繼續(xù)到步驟S2122,其中確定在主題表格中是否存在具有行地址范圍的其他表格單元。如存在,則流程返回S2116。如果不存在,流程繼續(xù)到步驟S516,以便刪除由步驟S510至S515的流程產(chǎn)生的虛假行和列。
圖22用來描述步驟S516的過程步驟。例如,如圖22a中所示,數(shù)字130指示列C5的右邊界。右邊界130鄰接垂直網(wǎng)格線132定位。由于在位于右列邊界130與垂直網(wǎng)格線132之間的列C6中不存在連通元,所以通過消除邊界130刪除列C6。于是,將把網(wǎng)格線132新定義為列C5的最右邊界。
圖22b表明第二種情形,對于該情形在步驟S516更新列位置。如圖22b中所示,傾斜線134已經(jīng)使列C9定義在左邊界135與右邊界136之間。于是,通過由在新擴展列C8與C10之間的單個邊界(未表示)代替邊界135和136來刪除列C9。流程從步驟S516繼續(xù)到步驟S517。
在步驟S517,調(diào)節(jié)超級單元的行和列地址,以便減少由傾斜表格網(wǎng)格線造成的錯誤地址分配。例如,圖23表明這樣一種情形,其中傾斜表格網(wǎng)格線已經(jīng)引起錯誤的行和列地址分配。具體地說,傾斜的垂直網(wǎng)格線140與列u和u+1相交,他們分別在其右和左邊界處由不可見網(wǎng)格線141定義。由于傾斜線140,超級單元143至145具有(u-u+1)的列地址范圍,即使在列u+1內(nèi)完全存在包含在單元143至145內(nèi)的黑色像素,也是如此。
在步驟S517估計幾種標準,以確定是否應(yīng)該更新超級單元的列地址以排除最左列。首先,確定位于列u+1內(nèi)的主題超級單元的左邊界是否定位在列u中。第二,確定左邊界與網(wǎng)格線141之間的距離是否小于閾值。第三,確定超級單元內(nèi)的所有連通元是否在網(wǎng)格線141的右側(cè)。第四,確定在主題超級單元的行地址處的列u內(nèi)是否存在超級單元。如果這四個標準都滿足,則從主題超級單元的定義中刪除列u,并且重新定義主題超級單元尺寸。
在圖23的情況下,超級單元143至145滿足以上標準。超級單元143至145的生成重新定義表示在圖24中。圖24也反映148和149根據(jù)以上標準的改進版本的重新定義,該定義用來確定是否應(yīng)該從超級列地址范圍刪除最右列。
根據(jù)改進的標準,首先確定位于列u內(nèi)的主題超級單元的右邊界是否定位在列u+1中。第二,確定右邊界與網(wǎng)格線141之間的距離是否小于閾值。第三,確定超級單元內(nèi)的所有連通元是否在網(wǎng)格線141的左側(cè)。第四,確定在主題超級單元的行地址處的列u+1內(nèi)是否存在超級單元。如果這四個標準都滿足,則從主題超級單元的定義中刪除列u+1,并且重新定義主題超級單元尺寸。
應(yīng)該理解,能類似地采納以上標準,以定址向前傾斜的網(wǎng)格線,而不是圖23和24向后傾斜的網(wǎng)格線140。在這方面,在步驟S517還使用類似于以上的標準,以調(diào)節(jié)由傾斜水平線造成的超級單元行地址。
在步驟S517之后執(zhí)行步驟S519,以便建立虛超級單元,或在“超級單元孔”存在的情況下擴展超級單元。圖26是一例子,表示其中產(chǎn)生“超級單元孔”的情形。如圖26a中所示,在表格單元160的左側(cè)不存在可見網(wǎng)格線。因此,如相對于圖17的方法在以上描述的那樣,建立超級單元,并且以不可見網(wǎng)格線作為其左側(cè)和底部的邊界。白色區(qū)域163由黑色像素包圍,因此在步驟S1701對應(yīng)于白色區(qū)域163分配超級單元164。與此不同,由于區(qū)域165既不包含連通元又不包含完全由黑色像素包圍的白色區(qū)域,所以沒有把超級單元分配給區(qū)域165。
如所述的那樣,在超級單元162的下邊界與水平網(wǎng)格線161之間、和區(qū)域165中存在“超級單元孔”。
圖25中表明的流程圖用于處理圖26a中所示的情形。具體地說,流程在步驟S2501開始,其中把每個超級單元邊界擴展到相應(yīng)的可見網(wǎng)格線。然后在步驟S2504更新超級單元尺寸和邊界信息。在步驟S2505,分析主題表格的左側(cè)、右側(cè)、頂部和底部邊緣,以確定區(qū)域165之類的任何區(qū)域是否存在。如果存在,則在步驟S2506建立包圍這樣區(qū)域的每一個的虛超級單元。流程然后前進到步驟S520。如果區(qū)域165之類的區(qū)域不存在,則流程直接從步驟S2505前進到步驟S520。
在圖25步驟的應(yīng)用程序之后,擴展超級單元162,如圖26b中所示。圖26b中所示的還有對應(yīng)于區(qū)域165的虛超級單元167。
返回圖5中描述的處理,步驟S520包括在“單元孔”存在的情況下建立虛單元的步驟。圖27表示包含單元孔的表格。具體地說,表格170尤其包含超級單元172。在超級單元172內(nèi)的是表格單元174、175和176。根據(jù)表格單元174至176的行和列地址、及根據(jù)超級單元172的尺寸,確定表格單元從由虛線指示的位置177丟失。這個位置稱作單元孔。于是,在步驟S520,在位置177處將定義一個單元。
當然,在步驟S520定義的單元不包含任何連通元。然而,這樣一種單元對于定義和迅速復(fù)制表格特征是有用的。況且,這樣一種單元允許數(shù)據(jù)容易地在位置177處添加到表示表格170的文件中,因為文件在位置177處將包含預(yù)先定義的單元。
圖28是根據(jù)步驟S521具有可見表格單元邊界的表格的例子。具體地說,圖28a表示包含表格單元181至186的表格180。還表示的是超級單元187和超級單元188,超級單元187包含表格單元181和182,超級單元188包含表格單元183至186。
在步驟S521,檢查每個表格單元,以確定它是否在其頂部、底部、左側(cè)和右側(cè)由可見網(wǎng)格線定界。在這方面,表格單元181定界在其頂部和右側(cè),表格單元182定界在其右側(cè)和底部,表格單元183定界在其頂部和左側(cè),表格單元184定界在其左側(cè)和底部,表格單元185定界在其底部和右側(cè),及表格單元186定界在其項部和右側(cè)。確定信息能與表格單元類型、表格單元行和列地址、及表格單元位置和尺寸的定義一起存儲。
圖28b是一個例子,用來描述關(guān)于包圍表格單元的可見邊界的存在數(shù)據(jù)。具體地說,圖28b表示代表表格180的每個表格單元的矩陣。如矩陣中所示,并且對應(yīng)于圖28a,圖28b中的圓圈指示不可見表格單元邊界,而短線指示可見表格單元邊界。通過參照在圖28b中所示的那樣的矩陣,能迅速復(fù)制根據(jù)本發(fā)明分析的表格的內(nèi)部網(wǎng)格線。
流程從步驟S521繼續(xù)到步驟S522,其中相對于圖3的步驟S310和S311如以上描述的那樣進行傾斜檢測和后處理。
應(yīng)該注意,由圖5流程確定的信息最好存儲在代表主題表格的層次樹結(jié)構(gòu)中。在一個最佳實施例中,關(guān)于超級單元的數(shù)據(jù)存儲在代表表格塊的節(jié)點中,如圖29a中的節(jié)點200,該數(shù)據(jù)包括超級單元的行和列地址、超級單元坐標、包括在超級單元內(nèi)的表格單元、及關(guān)于超級單元可見邊界存在的信息。節(jié)點200還存儲表格坐標、列和行范圍、及可見和不可見垂直和水平網(wǎng)格線的位置。
從節(jié)點200向下生長的是表格單元節(jié)點202至204。這些表格單元節(jié)點包含代表表格單元坐標、表格單元行和列地址、可見表格單元邊界的存在的數(shù)據(jù),并且包圍超級單元存儲在代表主題表格單元的節(jié)點中。
圖29b表示圖29a層次樹的可選擇表示。在圖29b的樹中,超級單元節(jié)點205和206獨立于表格節(jié)點200定義,并且具有由此向下生長的代表包含在相應(yīng)超級單元內(nèi)的表格單元的節(jié)點。應(yīng)該理解,在圖29b的樹結(jié)構(gòu)中,超級單元節(jié)點205和206而不是節(jié)點200,包含關(guān)于超級單元幀的數(shù)據(jù),該數(shù)據(jù)包括超級單元的列和行地址、超級單元坐標、包括在超級單元內(nèi)的表格單元、及關(guān)于超級單元可見邊界存在的信息。
盡管相對于當前認為是其最佳實施例的例子在以上描述了本發(fā)明,但要理解,本發(fā)明不限于上述的例子。相反,本發(fā)明打算覆蓋各種改進,并且等效布置包括在附屬權(quán)利要求書的精神和范圍內(nèi)。
權(quán)利要求
1.一種用來在表格的圖像上進行塊選擇處理的方法,表格由行和列組成,并且包括表格單元,其中行和列由可見和不可見網(wǎng)格線定義,該方法包括辨別包括一個或多個表格單元的超級單元,其中根據(jù)圍繞表格單元和以可見網(wǎng)格線為邊界的跟蹤白色區(qū)域辨別超級單元;確定限定每個表格單元的垂直和水平網(wǎng)格線是可見的還是不可見的;及確定限定每個超級單元的垂直和水平網(wǎng)格線是可見的還是不可見的。
2.根據(jù)權(quán)利要求1所述的方法,進一步包括步驟檢測表格圖像內(nèi)反相文本的區(qū)域;計算反映表格圖像內(nèi)連通元的垂直直方圖,直方圖不反映檢測區(qū)域內(nèi)的連通元;根據(jù)垂直直方圖定義表格圖像內(nèi)的列;及根據(jù)跟蹤白色區(qū)域的位置和相對于定義列的部分網(wǎng)格線,重新定義列。
3.根據(jù)權(quán)利要求2所述的方法,其中檢測反相文本的區(qū)域的步驟包括計算反映圖像內(nèi)白色像素的表格圖像的水平直方圖;辨別在圖像內(nèi)的連續(xù)行,在該圖像中行中邊界像素之間的總距離小于行總長度的一半;檢測連續(xù)行內(nèi)的跟蹤白色區(qū)域;根據(jù)跟蹤白色區(qū)域的尺寸,確定檢測的跟蹤白色區(qū)域是否對應(yīng)于反相文本。
4.根據(jù)權(quán)利要求1所述的方法,進一步包括檢測表格圖像內(nèi)反相文本的區(qū)域;計算反映表格圖像內(nèi)連通元的水平直方圖,直方圖不反映檢測區(qū)域內(nèi)的連通元;根據(jù)水平直方圖定義表格圖像內(nèi)的行;及根據(jù)跟蹤白色區(qū)域的位置和相對于定義行的部分網(wǎng)格線,重新定義行。
5.根據(jù)權(quán)利要求4所述的方法,其中檢測反相文本的區(qū)域的步驟包括計算反映圖像內(nèi)白色像素的表格圖像的水平直方圖;辨別在圖像內(nèi)的連續(xù)行,在該圖像中行中邊界像素之間的總距離小于行總長度的一半;檢測連續(xù)行內(nèi)的跟蹤白色區(qū)域;根據(jù)跟蹤白色區(qū)域的尺寸,確定檢測的跟蹤白色區(qū)域是否對應(yīng)于反相文本。
6.根據(jù)權(quán)利要求1所述的方法,其中,在所述辨別步驟,在第一表格單元不由白色區(qū)域包圍的情況下,根據(jù)第一表格單元的位置和尺寸辨別第一超級單元。
7.根據(jù)權(quán)利要求6所述的方法,進一步包括在第二超級單元不包括在行和列地址處的表格單元的情況下,辨別在第二超級單元內(nèi)的行和列地址處的虛表格單元。
8.根據(jù)權(quán)利要求7所述的方法,進一步包括把關(guān)于辨別超級單元的數(shù)據(jù)存儲在層次樹結(jié)構(gòu)中,該層次樹結(jié)構(gòu)反映表格圖像的物理布置。
9.根據(jù)權(quán)利要求1所述的方法,進一步包括確定對應(yīng)于相鄰列的跟蹤白色區(qū)域之間的距離;根據(jù)確定距離計算對應(yīng)于相鄰列的垂直網(wǎng)格線的位置。
10.根據(jù)權(quán)利要求9所述的方法,其中在表格圖像包括多于四行文本行的情況下忽略表格圖像中的最上部文本行。
11.一種存儲在表格圖像上進行塊選擇處理的計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),表格包括由可見和不可見網(wǎng)格線定義的行和列并且包含表格單元,諸步驟包括辨別步驟,以辨別包括一個或多個表格單元的超級單元,其中根據(jù)圍繞表格單元和以可見網(wǎng)格線為邊界的跟蹤白色區(qū)域辨別超級單元;確定步驟,以確定限定每個表格單元的垂直和水平網(wǎng)格線是可見的還是不可見的;及確定步驟,以確定限定每個超級單元的垂直和水平網(wǎng)格線是可見的還是不可見的。
12.根據(jù)權(quán)利要求11所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),進一步包括檢測步驟,以檢測表格圖像內(nèi)反相文本的區(qū)域;計算步驟,以計算反映表格圖像內(nèi)連通元的垂直直方圖,直方圖不反映檢測區(qū)域內(nèi)的連通元;定義步驟,以根據(jù)垂直直方圖定義表格圖像內(nèi)的列;及重新定義步驟,以根據(jù)跟蹤白色區(qū)域的位置和相對于定義列的部分網(wǎng)格線,重新定義列。
13.根據(jù)權(quán)利要求12所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),其中檢測反相文本的區(qū)域的步驟包括計算步驟,以計算反映圖像內(nèi)白色像素的表格圖像的水平直方圖;辨別步驟,以辨別在圖像內(nèi)的連續(xù)行,在該圖像中行中邊界像素之間的總距離小于行總長度的一半;檢測步驟,以檢測連續(xù)行內(nèi)的跟蹤白色區(qū)域;確定步驟,以根據(jù)跟蹤白色區(qū)域的尺寸,確定檢測的跟蹤白色區(qū)域是否對應(yīng)于反相文本。
14.根據(jù)權(quán)利要求11所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),進一步包括檢測步驟,以檢測表格圖像內(nèi)反相文本的區(qū)域;計算步驟,以計算反映表格圖像內(nèi)連通元的水平直方圖,直方圖不反映檢測區(qū)域內(nèi)的連通元;定義步驟,以根據(jù)水平直方圖定義表格圖像內(nèi)的行;及重新定義步驟,以根據(jù)跟蹤白色區(qū)域的位置和相對于定義行的部分網(wǎng)格線,重新定義行。
15.根據(jù)權(quán)利要求14所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),其中檢測反相文本的區(qū)域的步驟包括計算步驟,以計算反映圖像內(nèi)白色像素的表格圖像的水平直方圖;辨別步驟,以辨別在圖像內(nèi)的連續(xù)行,在該圖像中行中邊界像素之間的總距離小于行總長度的一半;檢測步驟,以檢測連續(xù)行內(nèi)的跟蹤白色區(qū)域;確定步驟,以根據(jù)跟蹤白色區(qū)域的尺寸,確定檢測的跟蹤白色區(qū)域是否對應(yīng)于反相文本。
16.根據(jù)權(quán)利要求11所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),其中,在所述辨別步驟,在第一表格單元不由白色區(qū)域包圍的情況下,根據(jù)第一表格單元的位置和尺寸辨別第一超級單元。
17.根據(jù)權(quán)利要求16所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),進一步包括一種辨別,以在第二超級單元不包括在行和列地址處的表格單元的情況下,辨別在第二超級單元內(nèi)的行和列地址處的虛表格單元。
18.根據(jù)權(quán)利要求17所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),進一步包括把關(guān)于辨別的超級單元的數(shù)據(jù)存儲在層次樹結(jié)構(gòu)中的存儲步驟,該層次樹結(jié)構(gòu)反映表格圖像的物理布置。
19.根據(jù)權(quán)利要求11所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),進一步包括確定步驟,以確定對應(yīng)于相鄰列的跟蹤白色區(qū)域之間的距離;計算步驟,以根據(jù)確定距離計算對應(yīng)于相鄰列的垂直網(wǎng)格線的位置。
20.根據(jù)權(quán)利要求19所述的存儲計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),其中在表格圖像包括多于四行文本行的情況下忽略表格圖像中的最上部文本行。
21.一種用來分析文檔圖像的方法,包括輸入文檔圖像;檢測文檔圖像內(nèi)的連通元;根據(jù)檢測的連通元和根據(jù)表格塊圖像內(nèi)的白色區(qū)域,辨別表格塊;辨別表格塊內(nèi)的反相文本區(qū)域;辨別表格內(nèi)的附加連通元;形成表格塊內(nèi)的文本塊和文本行;計算表格圖像內(nèi)的表格行和表格列;把行和列地址分配給表格塊內(nèi)的表格單元;計算垂直和水平表格網(wǎng)格線的位置;定義包括一個或多個表格單元的超級單元,其中根據(jù)白色區(qū)域辨別超級單元;確定限定每個超級單元的垂直和水平網(wǎng)格線是可見的還是不可見的;分開具有行或列地址范圍的表格單元;在傾斜可見網(wǎng)格線存在于表格塊內(nèi)的情況下重新定義行和列地址;根據(jù)表格塊中的超級單元孔定義超級單元;根據(jù)表格塊內(nèi)的單元孔定義虛表格單元;及確定限定每個表格單元的垂直和水平網(wǎng)格線是可見的還是不可見的。
22.一種存儲分析文檔圖像的計算機可執(zhí)行過程步驟的計算機可讀介質(zhì),過程步驟包括輸入步驟,以輸入文檔圖像;檢測步驟,以檢測文檔圖像內(nèi)的連通元;辨別步驟,以根據(jù)檢測的連通元和根據(jù)表格塊圖像內(nèi)的白色區(qū)域,辨別表格塊;辨別步驟,以辨別表格塊內(nèi)的反相文本區(qū)域;辨別步驟,以辨別表格內(nèi)的附加連通元;形成步驟,以形成表格塊內(nèi)的文本塊和文本行;計算步驟,以計算表格圖像內(nèi)的表格行和表格列;分配步驟,以把行和列地址分配給表格塊內(nèi)的表格單元;計算步驟,以計算垂直和水平表格網(wǎng)格線的位置;定義步驟,以定義包括一個或多個表格單元的超級單元,其中根據(jù)白色區(qū)域辨別超級單元;確定步驟,以確定限定每個超級單元的垂直和水平網(wǎng)格線是可見的還是不可見的;分開步驟,以分開具有行或列地址范圍的表格單元;重新定義步驟,以在傾斜可見網(wǎng)格線存在于表格塊內(nèi)的情況下重新定義行和列地址;定義步驟,以根據(jù)表格塊中的超級單元孔定義超級單元;定義步驟,以根據(jù)表格塊內(nèi)的單元孔定義虛表格單元;及確定步驟,以確定限定每個表格單元的垂直和水平網(wǎng)格線是可見的還是不可見的。
全文摘要
一種用于表格圖像上的塊選擇的方法,該表格包括由可見和不可見網(wǎng)格線定義的行和列并且包含表格單元,該方法包括辨別包括一個或多個表格單元的超級單元,其中根據(jù)圍繞表格單元和以可見網(wǎng)格線為邊界的跟蹤白色區(qū)域辨別超級單元;確定限定每個表格單元的垂直和水平網(wǎng)格線是可見的還是不可見的;及確定限定每個超級單元的垂直和水平網(wǎng)格線是可見的還是不可見的。
文檔編號G06T7/60GK1237745SQ9910100
公開日1999年12月8日 申請日期1999年1月5日 優(yōu)先權(quán)日1998年1月5日
發(fā)明者王欣元 申請人:佳能株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1