本發(fā)明涉及圖像處理中表格分析技術(shù)領(lǐng)域,尤其涉及一種基于圖像中表格分析技術(shù)的表格鑒別和定位方法。
背景技術(shù):
紙質(zhì)文檔是一種常見的信息表現(xiàn),并且具有較高的穩(wěn)定性和安全性,但是隨著信息技術(shù)的發(fā)展,其難以進行信息管理和分析的缺點日益凸顯。利用圖像處理技術(shù)對紙質(zhì)文檔信息進行數(shù)字化處理已經(jīng)成為必然趨勢。
目前,國內(nèi)外主要的文檔數(shù)字化方法是將紙質(zhì)文檔掃描成包含各種信息的圖像,根據(jù)數(shù)字圖像技術(shù)提取圖像信息。在圖像信息提取的過程中,表格數(shù)據(jù)的提取是非常關(guān)鍵的一步,如果表格被誤鑒別或是內(nèi)部定位不準確,不僅會導(dǎo)致丟失表格結(jié)構(gòu)信息,還會導(dǎo)致產(chǎn)生錯誤的OCR識別結(jié)果。
常用的表格鑒別方法是找到圖像中的直線,根據(jù)直線進行傾斜校正,在傾斜校正的圖像中如果水平直線和垂直直線滿足表格特征,則認為是表格,但這種方法一方面容易校正不準確,另一方面,會有一些類似表格圖像被誤檢,導(dǎo)致誤檢率較高。而且常用的表格定位是通過尋找直線信息定位表格單元格,這種方法會由于直線的中斷導(dǎo)致定位不準確。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是針對上述現(xiàn)有技術(shù)的不足提供一種基于圖像中表格分析技術(shù)的表格鑒別和定位方法,本基于圖像中表格分析技術(shù)的表格鑒別和定位方法,通過找到疑似表格區(qū)域并在內(nèi)部找到滿足數(shù)目的水平和垂直直線的方法鑒別外包圍框是否為表格,剔除了非表格圖像,鑒別表格的準確率較高,而且采用尋找表格內(nèi)每個包圍框的方法,表格內(nèi)的每個包圍框都會形成一個輪廓,根據(jù)輪廓的位置進行排序,最終定位表格,為之后的還原表格信息打下了基礎(chǔ),表格定位非常準確。
為實現(xiàn)上述技術(shù)目的,本發(fā)明采取的技術(shù)方案為:
基于圖像中表格分析技術(shù)的表格鑒別和定位方法,包括以下步驟:
1)將類似表格樣本掃描成圖像,提取圖像中所有的包圍框;
(2)設(shè)定包圍框的最小長度閾值、最大長度閾值、最小寬度閾值和最大寬度閾值,設(shè)定面積比例最大閾值和面積比例最小閾值;
(3)從圖像的所有的包圍框中選取長度在包圍框的最大長度閾值和最小長度閾值之間且寬度在包圍框的最大寬度閾值和最小寬度閾值之間且面積最大的包圍框;
(4)通過由步驟(3)得到的包圍框?qū)D像進行傾斜校正;
(5)提取已傾斜校正的圖像中所有的外包圍框,提取長度在包圍框的最大長度閾值和最小長度閾值之間且寬度在包圍框的最大寬度閾值和最小寬度閾值之間的所有的外包圍框,并將提取的每一個外包圍框均標注為疑似表格區(qū)域;
(6)對步驟(5)得到的疑似表格區(qū)域的內(nèi)部進行找包圍框操作,提取包圍框的面積與自身的外接矩形面積的比例在面積比例最大閾值和面積比例最小閾值之間的所有的包圍框;
(7)設(shè)定疑似表格區(qū)域內(nèi)包含的水平線段數(shù)目的最小數(shù)目閾值和最大數(shù)目閾值,設(shè)定疑似表格區(qū)域內(nèi)包含的垂直線段數(shù)目的最小數(shù)目閾值和最大數(shù)目閾值,通過Hough變換檢測直線的方法檢測由步驟(6)得到的疑似表格區(qū)域中所有的包圍框包含的水平線段數(shù)目和垂直線段數(shù)目,提取包含的水平線段數(shù)目在水平線段數(shù)目的最小數(shù)目閾值和最大數(shù)目閾值之間且包含的垂直線段數(shù)目在垂直線段數(shù)目的最小數(shù)目閾值和最大數(shù)目閾值之間的疑似表格區(qū)域并將提取的疑似表格區(qū)域標注為表格;
(8)根據(jù)依次尋找表格內(nèi)每個包圍框的方法對步驟(7)得到的表格進行表格定位。
作為本發(fā)明進一步改進的技術(shù)方案,所述從圖像的所有的包圍框中選取長度在包圍框的最大長度閾值和最小長度閾值之間且寬度在包圍框的最大寬度閾值和最小寬度閾值之間且面積最大的包圍框,包括:
從圖像的所有的包圍框中選取面積最大的包圍框,將面積最大的包圍框的長度分別與包圍框的最小長度閾值和最大長度閾值對比,將面積最大的包圍框的寬度分別與包圍框的最小寬度閾值和最大寬度閾值對比,若面積最大的包圍框的長度小于包圍框的最小長度閾值或者面積最大的包圍框的寬度小于包圍框的最小寬度閾值,則將此圖像標注為非表格圖像并剔除非表格圖像,否則標注為待檢測表格圖像;
若待檢測表格圖像中面積最大的包圍框的長度大于包圍框的最大長度閾值或者面積最大的包圍框的寬度大于包圍框的最大寬度閾值,則選取面積次大的包圍框,若面積次大的包圍框的長度大于包圍框的最大長度閾值或者面積次大的包圍框的寬度大于包圍框的最大寬度閾值,則選取面積第三大的包圍框,直到選取一個符合長度在包圍框的最大長度閾值和最小長度閾值之間且寬度在包圍框的最大寬度閾值和最小寬度閾值之間的包圍框。選取的包圍框?qū)儆陂L度在包圍框的最大長度閾值和最小長度閾值之間且寬度在包圍框的最大寬度閾值和最小寬度閾值之間的所有包圍框中面積最大的包圍框。
作為本發(fā)明進一步改進的技術(shù)方案,所述通過由步驟(3)得到的包圍框?qū)D像進行傾斜校正,包括:
通過Hough變換檢測直線的方法檢測由步驟(3)得到的包圍框中的所有的線段,計算所有的線段與水平方向的夾角并選取最小的夾角,將最小的夾角作為待檢測表格圖像的旋轉(zhuǎn)的角度,將待檢測表格圖像進行旋轉(zhuǎn),則完成對待檢測表格圖像的傾斜矯正。
作為本發(fā)明進一步改進的技術(shù)方案,所述根據(jù)依次尋找表格內(nèi)每個包圍框的方法對步驟(7)得到的表格進行表格定位,包括:
從步驟(7)得到的表格的左上頂點開始,依次尋找與表格的左上頂點的高度接近的包圍框并根據(jù)包圍框的前后位置進行排序;
第一行的包圍框排序完成后,從第一行包圍框底部的最高的頂點開始,依次尋找與最高的頂點的高度接近的包圍框并依次排序;
第二行的包圍框排序完成后,按照尋找第二行包圍框的步驟依次尋找第三行包圍框并依次排序,直到尋找到表格最底部的包圍框,得到包圍框排序好的表格;
根據(jù)排序好的表格內(nèi)的包圍框的排序方向以及包圍框排序方向的坐標定位到具體表格位置,完成表格定位。
本發(fā)明從圖像的所有的包圍框中選取長度在包圍框的最大長度閾值和最小長度閾值之間且寬度在包圍框的最大寬度閾值和最小寬度閾值之間且面積最大的包圍框,如果從圖像中沒有選取到滿足的包圍框,則將此圖像鑒別并標注為非表格圖像并剔除非表格圖像;從圖像的所有的外包圍框中提取長度在包圍框的最大長度閾值和最小長度閾值之間且寬度在包圍框的最大寬度閾值和最小寬度閾值之間的所有的外包圍框,并將提取外包圍框均標注為疑似表格區(qū)域;沒有提取到的外包圍框鑒別為非表格;再從提取的疑似表格區(qū)域內(nèi)提取外包圍框的面積與自身的外接矩形面積的比例在面積比例最大閾值和面積比例最小閾值之間的所有的包圍框,從而排除了文字和噪聲的干擾;提取包含的水平線段數(shù)目在水平線段數(shù)目的最小數(shù)目閾值和最大數(shù)目閾值之間且包含的垂直線段數(shù)目在垂直線段數(shù)目的最小數(shù)目閾值和最大數(shù)目閾值之間的疑似表格區(qū)域,并將提取的疑似表格區(qū)域均標注為表格,沒有提取的外包圍框鑒別為非表格。本發(fā)明通過上述的表格鑒別的方法依次排除非表格,最終提取屬于表格的外包圍框的區(qū)域,鑒別表格的準確率較高;本發(fā)明還通過尋找表格內(nèi)每個包圍框的方法,表格內(nèi)的每個包圍框都會形成一個輪廓,根據(jù)尋找每個包圍框即輪廓的位置進行排序,最終定位表格,為之后的還原表格信息打下了基礎(chǔ),表格定位準確率較高。
附圖說明
圖1為本發(fā)明的工作流程圖。
具體實施方式
下面根據(jù)圖1對本發(fā)明的具體實施方式作出進一步說明:
參見圖1,基于圖像中表格分析技術(shù)的表格鑒別和定位方法,包括以下步驟:
(1)將各種類似表格樣本通過掃描儀等設(shè)備掃描成圖像,提取圖像中所有的包圍框;
(2)設(shè)定包圍框的最小長度閾值L1、最大長度閾值L2、最小寬度閾值W1和最大寬度閾值W2,設(shè)定面積比例最大閾值S1和面積比例最小閾值S2,;
(3)從圖像的所有的包圍框中選取長度在包圍框的最大長度閾值L2和最小長度閾值L1之間且寬度在包圍框的最大寬度閾值W2和最小寬度閾值W1之間且面積最大的包圍框, 如果圖像中沒有選取到滿足要求的包圍框,則將此圖像標注為非表格圖像并剔除非表格圖像;
(4)通過由步驟(3)得到的包圍框?qū)D像進行傾斜校正;
(5)通過OpenCV中的findContours查找輪廓函數(shù)的方法從已傾斜校正的圖像中提取所有的外包圍框,將所有的外包圍框的長度分別與包圍框的最小長度閾值L1和最大長度閾值L2對比,將所有的外包圍框的寬度分別與包圍框的最大寬度閾值W2和最小寬度閾值W1對比,提取長度在包圍框的最大長度閾值L2和最小長度閾值L1之間且寬度在包圍框的最大寬度閾值W2和最小寬度閾值W1之間的所有的外包圍框,并將提取的每一個外包圍框均標注為疑似表格區(qū)域,疑似表格區(qū)域設(shè)為N個,不滿足提取條件的外包圍框標注為非表格并剔除非表格;
(6)對其中一個疑似表格區(qū)域的內(nèi)部進行找包圍框操作,計算疑似表格區(qū)域的內(nèi)部每個包圍框的面積與自身的外接矩形面積的比例,將每個包圍框的面積與自身的外接矩形面積的比例分別和面積比例最大閾值S1與面積比例最小閾值S2對比,從疑似表格區(qū)域的內(nèi)部提取包圍框的面積與自身的外接矩形面積的比例在面積比例最大閾值S1和面積比例最小閾值S2間的所有的包圍框,進而排除了圖像中文字和噪聲的干擾;
(7)設(shè)定疑似表格區(qū)域內(nèi)包含的水平線段數(shù)目的最小數(shù)目閾值H1和最大數(shù)目閾值H2,設(shè)定疑似表格區(qū)域內(nèi)包含的垂直線段數(shù)目的最小數(shù)目閾值H3和最大數(shù)目閾值H4,通過Hough變換檢測直線的方法檢測由步驟(6)得到的疑似表格區(qū)域中所有的包圍框包含的水平線段數(shù)目和垂直線段數(shù)目,將步驟(6)得到的疑似表格區(qū)域中所有的包圍框包含的水平線段數(shù)目分別與水平線段數(shù)目的最小數(shù)目閾值H1和最大數(shù)目閾值H2對比,將步驟(6)得到的疑似表格區(qū)域中所有的包圍框包含的垂直線段數(shù)目分別與垂直線段數(shù)目的最小數(shù)目閾值H3和最大數(shù)目閾值H4對比,若疑似表格區(qū)域包含的水平線段數(shù)目在水平線段數(shù)目的最小數(shù)目閾值H1和最大數(shù)目閾值H2之間且包含的垂直線段數(shù)目在垂直線段數(shù)目的最小數(shù)目閾值H3和最大數(shù)目閾值H4之間,則將此疑似表格區(qū)域標注為表格,并執(zhí)行步驟(8);反之標注為非表格并剔除非表格,并返回執(zhí)行步驟(6)。
(8)根據(jù)依次尋找表格內(nèi)每個包圍框的方法對步驟(7)得到的表格進行表格定位,定位后,再返回執(zhí)行步驟(6),直到將圖像中的N個疑似表格區(qū)域均進行步驟(6)、步驟(7)和步驟(8)操作,對圖像中的所有表格完成定位。
進一步地,所述從圖像的所有的包圍框中選取長度在包圍框的最大長度閾值L2和最小長度閾值L1之間且寬度在包圍框的最大寬度閾值W2和最小寬度閾值W1之間且面積最大的包圍框,包括:
計算圖像的所有的包圍框的面積,從圖像的所有的包圍框中選取面積最大的包圍框,將面積最大的包圍框的長度分別與包圍框的最小長度閾值L1和最大長度閾值L2對比,將面積最大的包圍框的寬度分別與包圍框的最大寬度閾值W2和最小寬度閾值W1對比,若面積最大的包圍框的長度小于包圍框的最小長度閾值L1或者面積最大的包圍框的寬度小于包圍框的最小寬度閾值W1,則將此圖像標注為非表格圖像并剔除非表格圖像,否則標注為待檢測表格圖像;
若待檢測表格圖像中面積最大的包圍框的長度大于包圍框的最大長度閾值L2或者面積最大的包圍框的寬度大于包圍框的最大寬度閾值W2,則選取面積次大的包圍框,將面積次大的包圍框的長度分別與包圍框的最小長度閾值L1和最大長度閾值L2對比,將面積次大的包圍框的寬度分別與包圍框的最大寬度閾值W2和最小寬度閾值W1對比,如果面積次大的包圍框的長度大于包圍框的最大長度閾值L2或者面積次大的包圍框的寬度大于包圍框的最大寬度閾值W2,則選取面積第三大的包圍框,按照這樣依次對比的方法直到選取一個長度在包圍框的最大長度閾值L2和最小長度閾值L1之間且寬度在包圍框的最大寬度閾值W2和最小寬度閾值W1之間的包圍框,且選取的包圍框?qū)儆陂L度在包圍框的最大長度閾值L2和最小長度閾值L1之間且寬度在包圍框的最大寬度閾值W2和最小寬度閾值W1之間的所有包圍框中面積最大的包圍框;如果在待檢測表格圖像中沒有選取到滿足要求的包圍框,則將此待檢測表格圖像標注為非表格圖像并剔除非表格圖像。
進一步地,所述通過由步驟(3)得到的包圍框?qū)D像進行傾斜校正,包括:
通過Hough變換檢測直線的方法檢測由步驟(3)得到的包圍框中的所有的線段,以包圍框的左上頂點為原點,以包圍框的水平向右方向為X軸正方向,以包圍框的垂直向下方向為Y軸正方向,計算所有線段與X軸正方向的夾角(0-180度),若夾角大于90度,則用180減去該角度,選取最小的夾角,將最小的夾角作為待檢測表格圖像旋轉(zhuǎn)的角度,若該夾角線段與X軸正方向的夾角大于90度,采用逆時針旋轉(zhuǎn),否則采用順時針旋轉(zhuǎn),最終完成對待檢測表格圖像的傾斜矯正。
進一步地,所述根據(jù)依次尋找表格內(nèi)每個包圍框的方法對步驟(7)得到的表格進行表格定位,包括:
從步驟(7)得到的表格的左上頂點開始,采用掃描的方法從左到右依次尋找與表格的左上頂點的高度接近的包圍框并對包圍框從左到右依次排序;第一行的包圍框排序完成后,從第一行包圍框底部的最高的頂點開始,依次尋找與最高的頂點的高度接近的包圍框并根據(jù)包圍框的前后位置對包圍框依次排序;第二行的包圍框排序完成后,按照尋找第二行包圍框的步驟依次尋找第三行包圍框并根據(jù)包圍框的前后位置對包圍框依次排序,直到尋找到表格最底部的包圍框,此時表格內(nèi)的每個包圍框已排序完成;
根據(jù)排序好的表格內(nèi)的包圍框的排序方向以及包圍框排序方向的坐標定位到具體表格位置,完成表格定位。
本發(fā)明的保護范圍包括但不限于以上實施方式,本發(fā)明的保護范圍以權(quán)利要求書為準,任何對本技術(shù)做出的本領(lǐng)域的技術(shù)人員容易想到的替換、變形、改進均落入本發(fā)明的保護范圍。