Tesseract-OCR4.0識別中文與訓練字庫實例


關於中文的識別,效果比較好而且開源的應該就是Tesseract-OCR了,所以自己親身試用一下,分享到博客讓有同樣興趣的人少走彎路。

文中所用到的身份證圖片資源是百度找的,如有侵權可聯系我刪除。

一、准備工作

1、下載Tesseract-OCR引擎,注意要3.0以上才支持中文哦,按照提示安裝就行。
最后下載4.0版本

2、下載chi_sim.traindata字庫。要有這個才能識別中文。下好后,放到Tesseract-OCR項目的tessdata文件夾里面。
https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata

3、下載jTessBoxEditor,這個是用來訓練字庫的。
https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/jTessBoxEditor-1.7.3.zip/download

  1. 為了識別方便建議放到環境變量中.

二、識別

1、進入cmd,進入到要識別的圖片的路徑下。
-解決bug
出現了這個錯誤. 下面的意思就是說不能加載’eng’語言包。請將tessdata的父文件夾路徑設置為TESSDATA_PREFIX環境變量值,這個就是說在環境變量中新建一個系統變量,變量名稱為TESSDATA_PREFIX,tessdata是放置語言包的文件夾,一般在你安裝tesseract的目錄下,即tesseract的安裝目錄就是tessdata的父目錄,把TESSDATA_PREFIX的值設置為它就行了

2、輸入命令

tesseract 圖片名稱 生成的結果文件的名稱 字庫
例如我的圖片識別就是:
tesseract test.jpg result -l chi_sim

識別完后會生成result.txt文件

三、訓練

1、將圖片轉換成tif格式,用於后面生成box文件。可以通過畫圖,然后另存為tif即可。

更改圖片名字,這個是有要求的=。=

tif文面命名格式[lang].[fontname].exp[num].tif
lang是語言 fontname是字體
比如我們要訓練自定義字庫 mjorcen字體名normal
那么我們把圖片文件重命名 mjorcen.normal.exp0.jpg在轉tif。
2、生成box文件。

tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l chi_sim batch.nochop makebox


box文件和對應的tif一定要在相同的目錄下,不然后面打不開。

3、打開jTessBoxEditor矯正錯誤並訓練

打開train.bat

找到tif圖,打開,並校正。切換到圖片所指的路徑

出現亂碼 這是因為你軟件設置字體的問題

在setting>font 設置中文字體

進行矯正 主要就是坐標 位置的調整,注意 添加需要選擇上一個文字才能分離


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM