一種圖像表格文字識別方法
【技術領域】
[0001] 本發(fā)明涉及圖像識別領域,特別涉及一種圖像表格文字識別方法。
【背景技術】
[0002] 圖像識別技術是目前智能識別技術領域中非常重要的發(fā)展方向,圖像識別的發(fā)展 經(jīng)歷了三個階段:文字識別、數(shù)字圖像處理與識別、物體識別;其中在眾多的圖像識別技術 中,對圖像文字的識別技術顯得尤為重要,這是因為圖像文字往往比單純圖像包含更加重 要的可利用信息,而且圖像文字識別技術所應用的領域也很重要。文字識別一般是識別文 字、字母、數(shù)字和符號,從印刷文字識別到手寫文字識別,應用非常廣泛。圖像識別問題的數(shù) 學本質(zhì)屬于模式空間到類別空間的映射問題。目前,在圖像識別的發(fā)展中,主要有三種識別 方法:統(tǒng)計模式識別、結(jié)構(gòu)模式識別、模糊模式識別。
[0003] 隨著圖像文字的深入發(fā)展,越來越多種類的圖像文字資料,被納入圖像文字識別 的范疇中,其中表格作為文字數(shù)據(jù)記錄匯總最精簡表達方式,或者數(shù)據(jù)統(tǒng)計、結(jié)果分析中最 常用的表達格式,是各種數(shù)據(jù)分析工具中基礎工具,在各行各業(yè)應用的廣泛性不言而喻。不 難看出對于表格式圖像文字識別的重要性,比如對一個企業(yè)年度業(yè)績報表,可能包含企業(yè) 年度業(yè)績中最重要的統(tǒng)計數(shù)據(jù)和分析結(jié)果,這些信息的重要性和概括性是其他任何材料所 比擬不了的,目前的網(wǎng)絡信息中充斥著各種表格資料,但是很多表格都是以圖片的形式提 供,比如各種掃描檔案文件、PDF文件,自動識別這些圖像表格資料,將圖片類型的表格內(nèi)容 還原成數(shù)字資料是將這些資料進行快速處理和分析的基礎。
[0004] 但是,由于表格資料本身的表格結(jié)構(gòu)特征,使得表格圖像文字的識別比一般的普 通圖像文字資料困難很多。面對大量的圖像表格數(shù)據(jù)的快速分析需要,亟待一種快速,準確 的圖像表格文字識別方法。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于克服現(xiàn)有技術中所存在的上述不足,提供一種圖像表格文字識 別方法,能夠快速準確的將圖像表格中的文字信息識別出來。本發(fā)明首先將圖像表格中的 文字信息提取和切分出來,在文字信息切分的基礎上對切分出的文字塊進行識別,從而完 成了圖像表格文字的識別過程。其中在進行圖像表格文字切分時首先檢測出待識別圖像表 格中的單元格,提取出單元格的輪廓點集,根據(jù)單元格的輪廓點集,構(gòu)造出包含單元格輪廓 點集的面積最小的矩形區(qū)域,提取出該矩形區(qū)域的四角頂點坐標,根據(jù)該四角頂點坐標將 對應單元格中的文字信息切分提取出來,在單元格內(nèi)容整體切分出來的基礎上,通過側(cè)向 投影實現(xiàn)單元格中的行切分,再通過垂直投影實現(xiàn)每一行的單個文字切分;在文字切分的 基礎上使用神經(jīng)網(wǎng)絡對切分出的文字進行識別,識別過程快速準確。通過本發(fā)明方法實現(xiàn) 的圖像表格文字識別,在克服表格文字切分困難的基礎上實現(xiàn)文字識別,對圖像表格文字 的識別效率高,快速,準確,很好的解決了圖像表格文字識別的難題。
[0006] 為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供以下技術方案,一種圖像表格文字識別方法, 包含以下實現(xiàn)過程:
[0007] 將待處理圖像表格進行二值化處理,檢測出所述圖像表格中的單元格,依次將各 單元格中的內(nèi)容作為一個整體切分出來,形成對應的子圖片;
[0008] 使用投影法將子圖片中的文字信息切分出來;
[0009] 將子圖片中切分出的文字塊信息輸入到訓練好的神經(jīng)網(wǎng)絡中,將文字塊中的文字 信息識別出來。
[0010] 具體的,本圖像表格文字識別方法采用以下實現(xiàn)步驟:
[0011] (1)將待處理圖像表格進行二值化處理,使用openCV圖像處理工具中的 findcontours函數(shù)檢測出圖像表格單元格輪廓;
[0012] (2)對所述步驟(1)提取出的單元格輪廓點集,調(diào)用minAreaRect函數(shù)構(gòu)建出包含 單元格輪廓點集的面積最小的旋轉(zhuǎn)矩形區(qū)域,提取出該旋轉(zhuǎn)矩形區(qū)域的四角頂點坐標點; 根據(jù)四角頂點坐標值將對應單元格中的文字信息作為整體切分出來,形成對應的子圖片;
[0013] (3)采用投影法將所述子圖片中的文字信息依次切分出來;
[0014] (4)將子圖片中切分出的文字塊信息輸入到訓練好的神經(jīng)網(wǎng)絡中,實現(xiàn)文字信息 的識別。
[0015] 進一步的,所述步驟(3)中對切分出來的單元格文字圖像進行側(cè)向投影,計算出 一行的非〇像素的個數(shù),并將該值放到projection_y類中。每一行非0像素的計算方法為:
-,i是行數(shù),j是列數(shù),pix(i,j)是對應像素值,η是最后一列的列坐標。
[0016] 進一步的,所述步驟(3)中對projection_y類中的元素進行遍歷,變量k遍歷范 圍為從 1 開始到projection_y.size〇_l結(jié)束。如果projection_y[k] = 0,projection_ y[k+l] >0,projection_y[k+2] >0,則判斷k為某一行的起始切分點,并將其放到類 vector〈int>top中;如果projection_y[k] = 0,projection_y[k-1] > 0,projection- y[k-2] > 0,則判斷k為某一行的終點切分點,并將其放到類vector〈int>bottom中;top. size() =bottom.size()?;陬恡op和bottom中的元素值即可將單元格中的文字行向 切分出來,對應的兩個坐標值也就是該行所有文字的上下兩個y坐標。
[0017] 進一步的,對于切分出來的每一行的文字圖像進行垂直投影,計算出一列的 非〇像素的個數(shù),并將該值放到projection_x類中。每一列非0像素的計算方法為:
.,:j是列數(shù),i是行數(shù),pix(i,j)是對應像素值,m是最后一行的行坐標。
[0018] 進一步的,對projection_x類中的元素進行遍歷,變量k遍歷范圍為從1開 始到projection_x.size()-1 結(jié)束。如果projection_x[k] = 0,projection_x[k+1] > 0,projection_x[k+2] > 0,則判斷k為某一文字塊的起始切分點,并將其放到類 vector〈int>left中;如果projection_x[k] = 0,projection_x[k_l] > 0,projection- x[k-2] >0,則判斷k為某一文字塊的終點切分點,并將其放到類vector〈int>right中;遍 歷完后left,size()應該等于right,size()。類left和right中的元素值就是單文字可 選用切分位置。
[0019] 經(jīng)過上述投影過程,根據(jù)橫向投影和縱向投影坐標就可以確定每個文字的坐標位 置,根據(jù)這些切分位置就可以將單元格中的文字信息切分成各個文字塊。將上述文字塊依 次輸入經(jīng)過訓練的神經(jīng)網(wǎng)絡中,通過神經(jīng)網(wǎng)絡完成文字的識別。
[0020] 進一步的,所述步驟(4)中,根據(jù)橫向投影和縱向投影坐標確定每個文字的坐標 位置,根據(jù)坐標位置可以依次把單個文字塊切分出來,將子圖片中切分出來的文字塊按照 原有的順序輸入神經(jīng)網(wǎng)絡中進行識別,保證了子圖片中文字識別的順序和邏輯準確性。
[0021] 與現(xiàn)有技術相比,本發(fā)明的有益效果:本發(fā)明提供一種圖像表格文字識別方法,本 方法首先檢測出待識別圖像表格中的單元格,將每個單元格中的信息內(nèi)容整體切分出來形 成對應子圖片,對每個單元格中的文字信息利用投影法進行切分出來,克服了表格復雜結(jié) 構(gòu)和框線影響造成文字信息識別切分困難的難題;并且在將子圖片上的文字塊切分出來的 基礎上,將文字塊輸入經(jīng)過訓練的神經(jīng)網(wǎng)絡中,通過神經(jīng)網(wǎng)絡的自動學習,輸入正確的文字 識別結(jié)果。本發(fā)明中單元格的識別和單元格文字內(nèi)容信息的切分基于openCV圖像處理工 具中的API函數(shù)來實現(xiàn),檢測和識別效率高,在單元格切分的基礎上使用投影法將單元格 中的文字塊切分出來,投影法對文字切分點的判斷方式簡單,判斷效率較高;在上述文字切 分的基礎使用神經(jīng)網(wǎng)絡對切分出的文字信息進行自動識別,識別速度快,識別效率高???之,本發(fā)明方法解決了圖像文字識別領域中一直難以克服的圖像表格識別困難的問題,在 圖像文字識別,信息挖掘,信息分析領域具有巨大的應用前景。
【附圖說明】:
[0022] 圖1為本圖像表格文字識別方法的流程示意圖。
[0023] 圖2為本圖像表格文字識別方法中的實施步驟示意圖。
[0024] 圖3為實施例中的經(jīng)過二值化處理的待識別圖片示意圖。
[0025] 圖4為對圖3所示的待識別圖片調(diào)用findcontours函數(shù),提取出的單元格輪廓示 意圖。
[