GitHub
Tesseract OCR:tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository) (github.com)
Tesseract User Manual:Tesseract User Manual | tessdoc (tesseract-ocr.github.io)
How to train LSTM Tesseract:tessdoc/TrainingTesseract-5.md at main ·tesseract-ocr/tessdoc (github.com)
- 作業系統:win10
- 版本訊息-命令提示字元(CMD)
C:\Users\user>tesseract --version
tesseract v5.0.1.20220118
leptonica-1.78.0
libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
Found AVX2
Found AVX
Found FMA
Found SSE4.1
Found libarchive 3.5.0 zlib/1.2.11 liblzma/5.2.3 bz2lib/1.0.6 liblz4/1.7.5 libzstd/1.4.5
Found libcurl/7.77.0-DEV Schannel zlib/1.2.11 zstd/1.4.5 libidn2/2.0.4 nghttp2/1.31.0
一、準備資料夾 Git Clone
git(Download for Wimdows)
2、tesstrainsh-win
- 桌面右鍵(Git Bash Here)開啟Bash,輸入下面指令
git clone https://github.com/livezingy/tesstrainsh-win.git
備註:shift+INS(位置在9宮格數字鍵的0) 可以貼上
二、準備資料
1、fonts(範例為新細明體)
尋找想訓練的字體(.ttf)檔,放入fonts資料夾中
- 若字體檔案是(.tcc)檔,可以直接手動變更副檔名
C:\Windows\Fonts
由於等等在讀字型名稱時,中文的名稱會出現亂碼(目前還不確定原因),我有嘗試將Bash設定UTF-8但是沒有效果。
底下參考資料附上FontForge的youtube教學影片
Step1、Element
Step2、Font Info...
Step3、TFF Names
Step4、File
Step5、Generate Fonts...
Step6、TrueType(取消勾選Vaildata Before Saving)
Step7、Generate
2、langdata_lstm
- 刪除原先的langdata_lstm,重新下載
- 資料夾中點選右鍵(Git Bash Here)開啟Bash,輸入下面指令
git clone https://github.com/tesseract-ocr/langdata_lstm.git
備註:shift+INS(位置在9宮格數字鍵的0) 可以貼上
3、tessdata
下載chi_tra.traineddata放入tessdata資料夾中
將configs資料夾複製放入tessdata資料夾中
C:\Program Files\Tesseract-OCR\tessdata
三、修改tesstrainDone.sh
使用notepad++開啟tesstrainDone.sh修改內容
- 【CTRL+F】將eng取代為chi_tra
- 【CTRL+F】將Impact Condensed取代為PMingLiU
- 【CTRL+F】將Impact取代為PMingLiU
tesstrainsh-win\langdata_lstm\chi_tra,中的所有文件使用notepad++開啟,並且修改換行格式
四、執行tesstrainDone.sh
在tesstrainsh-win中右鍵(Git Bash Here)開啟Bash,輸入下面指令
sh tesstrainDone.sh
Finished! Selected model with minimal training error rate (BCER) = 2.639
Loaded file output/impact_checkpoint, unpacking...
- tesstrainsh-win\output,會產生PMingLiU.traineddata
錯誤訊息
- 如果不能讀取字體名稱,則使用報錯時系統建議的字體名稱
Could not find font named 'Microsoft JhengHei UI Light'.
Pango suggested font 'Microsoft JhengHei UI weight=290'.
報錯顯示:Microsoft JhengHei UI Light 建議改為 Microsoft JhengHei UI weight=290
五、測試
將PMingLiU.traineddata放入下面路徑中
C:\Program Files\Tesseract-OCR\tessdata
挑選一張具有文字的圖片(.PNG),於cmd中輸入指令
tesseract XXX.png result_old -l chi_tra
tesseract XXX.png result_new -l output
參考資料