光學字元識別(ocr,optical character recognition)是指對文字資料進行掃瞄,然後對影象檔案進行分析處理,獲取文字及版面資訊的過程。ocr技術非常專業,一般多是印刷、列印行業的從業人員使用,可以快速的將紙質資料轉換為電子資料。關於中文ocr,目前國內水平較高的有清華文通、漢王、尚書,其產品各有千秋,**不菲。國外ocr發展較早,像一些大公司,如ibm、微軟、hp等,即使沒有推出單獨的ocr產品,但是他們的研發團隊早已掌握核心技術,將ocr功能植入了自身的軟體系統。對於我們程式設計師來說,一般用不到那麼高階的,主要在開發中能夠整合基本的ocr功能就可以了。這兩天我查詢了很多免費ocr軟體、類庫,特地整理一下,今天首先來談談tesseract。
1、tesseract概述
tesseract的ocr引擎最先由hp實驗室於2023年開始研發,至2023年時已經成為ocr業內最準確的三款識別引擎之一。然而,hp不久便決定放棄ocr業務,tesseract也從此塵封。
數年以後,hp意識到,與其將tesseract束之高閣,不如貢獻給開源軟體業,讓其重煥新生--2023年,tesseract由美國內華達州資訊科技研究所獲得,並求諸於google對tesseract進行改進、消除bug、優化工作。
tesseract目前已作為開源專案發布在google project,其專案主頁
檢視,其最新版本3.0已經支援中文ocr,並提供了乙個命令列工具。本次我們來測試一下tesseract 3.0,由於命令列對終端使用者不太友好,我用wpf簡單封裝了一下,就可以方便的進行中文ocr了。
1.2、命令列工具解壓縮後如下(不含1.jpg、1.txt):
1.3、為了進行中文ocr,將簡體中文語言包複製到【tessdata】目錄下:
1.4、在dos下切換到tesseract的命令列目錄,檢視一下tesseract.exe的命令格式:
imagename為待ocr的,outputbase為ocr後的輸出檔案,預設是文字檔案(.txt),lang為使用的語言包,configfile為配置檔案。
1.5、下面來測試一下,準備一張jpg格式的,這裡我是放到了和tesseract同乙個目錄中:
輸入:tesseract.exe 1.jpg 1 -l chi_sim,然後回車,幾秒鐘就ocr完成了:
這裡注意命令的格式:imagename要加上副檔名.jpg,輸出檔案和語言包不需要加副檔名。
ocr結果:
可以看到結果不是很理想,中文識別還說的過去,但是英文、數字大都亂碼。不過作為老牌的ocr引擎,能做到這種程度已經相當不錯了,期待google的後續公升級吧,支援一下。
Tesseract ocr 3 02學習記錄一
光學字元識別 ocr,optical character recognition 是指對文字資料進行掃瞄,然後對影象檔案進行分析處理,獲取文字及版面資訊的過程。ocr技術非常專業,一般多是印刷 列印行業的從業人員使用,可以快速的將紙質資料轉換為電子資料。關於中文ocr,目前國內水平較高的有清華文通 ...
Tesseract OCR引擎 入門
ocr optical character recognition 光學字元識別,是指對檔案中的文字進行分析識別,獲取的過程。tesseract 開源的ocr識別引擎,初期tesseract引擎由hp實驗室研發,後來貢獻給了開源軟體業,後經由google進行改進,消除bug,優化,重新發布。當前版本...
Tesseract OCR引擎 入門
ocr optical character recognition 光學字元識別,是指對檔案中的文字進行分析識別,獲取的過程。tesseract 開源的ocr識別引擎,初期tesseract引擎由hp實驗室研發,後來貢獻給了開源軟體業,後經由google進行改進,消除bug,優化,重新發布。當前版本...