tesseract-ocr字元識別,安裝/測試/訓練 問題/解決方案
阿新 • • 發佈:2019-01-22
2018.5.4更新 training tesseract 教程
2018.3.23第一例EAST旭哥在做,開始調研tesseract-ocr(使用Github: 開啟專案後,先看看wiki,根據目錄進行操作) HOME頁Download tesseract-ocr Engine.(關於PPA: Personal Package Archives)命令列 執行demo推薦一篇部落格對整體環境的編譯執行:教程1這篇文章是Ubuntu16.4 我實際使用的是Ubuntu14.4(uname -a 檢視版本資訊)
解決方法:
由於Ubuntu下訓練tesseract 教程不足,還在繼續摸索。現在轉用Windows下的tesseract 3.05版本(tesseract 4.0在我的win10下總是出錯 還沒辦法解決)
- windows tesseract版本下載。
- exe安裝。
- 安裝完成後開啟CMD輸入tesseract回車出現tesseract介紹/help等,即安裝成功。
命令列進入該檔案目錄下,輸入測試命令:
tesseract test.png output_test -l eng
【語法】tesseract imagename outputbase[-l lang] [-psm pagesegmode] [configfile...]接下來的教程見→ 所遇到的問題及解決方案:
1. Failed to load font_properties from font_properties
【解決】: 將命令列
mftraining -F font_properties -U unicharset -O num.unicharset num.font.exp0.tr
更改為:
mftraining -F font_properties.txt -U unicharset -O num.unicharset num.font.exp0.tr
2.Illegal short name for a feature換下一張圖片進行訓練,(跳過該問題訓練集)3.ICU ERROR...4.【畫了6張tif圖,但是無法用jTessBoxEdit合併,可能訓練樣本有問題,重新嘗試解決】
5. empty page6. jTessBoxEditor中文亂碼 在setting中將字型改為宋體2018.3.23第一例EAST旭哥在做,開始調研tesseract-ocr(使用Github: 開啟專案後,先看看wiki,根據目錄進行操作)
在Ubuntu14.4下安裝時會報一個錯:W: GPG 錯誤:http://ppa.launchpad.net lucid Release: 由於沒有公鑰,無法驗證下列簽名: NO_PUBKEY FAF69C646FF368B7的問題解決方案:在終端中執行:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FAF69C646FF368B7具體安裝程式碼如下:
sudo add-apt-repository ppa:alex-p/tesseract-ocrsudo apt-get updatesudo apt-get install tesseract-ocr安裝完成後,先只能執行識別英文字元.其他字元需安裝依賴庫.////2018.3.23 完成demo測試 識別效果真的非常棒///2018.3.25 安裝編譯環境(參考GitHub與上面推薦的部落格均可) 可能出現的問題:
/usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link
/usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 is not a symbolic link
解決方法:
- 針對
/usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link解決:
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.orgsudo
ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1sudo
ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1
- 針對
/usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 is not a symbolic link解決:
cd /usr/local/cuda/lib64sudo ln -sf libcudnn.so.5.10 libcudnn.so.5sudo ln -sf libcudnn.so.5 libcudnn.so執行
sudo ldconfig檢查是否報錯一個坑安裝注意,一定要從官網下載XXX.tar.gz安裝包安裝。(有問題先看看GitHub中的issues)我這邊安裝了Latest version,不可以從github直接git clone是因為該原始碼中無configure資料夾,在編譯時很多錯不好解決。3種方法,使用了第二種autoconfig。這裡按照官網的步驟一步一步來,如果在make install報錯,可能是Permission denied報錯,使用 sudo make install。在一系列操作完成後,到配置字型庫,我這邊出現的問題,路徑配置:
export TESSDATA_PREFIX=/media/xxx/tessdata可以直接使用
wget https://github.com/tesseract-ocr/tessdata/raw/master/eng.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata下載英文/中文等需要的語言。可能會遇到的錯誤:
Error opening data file /usr/local/share/tessdata/eng.traineddataPlease make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.Failed loading language engTesseract couldn't load any languages!Could not initialize tesseract.以上,可以完成測試。注意:tesseract-ocr 識別的是 印刷體字。有一篇部落格,寫了ocr.sh檔案,貌似是可以把路徑直接改正?我還沒嘗試,先貼在這裡吧。/// 開始準備 training 環節。安裝jTessBoxEditor到官網下載,tesseract-ocr 4.0,下載了最新版本的
- 解壓 tar -zxvf jTessBoxEditor
- 轉到解壓後的目錄: cd /jTessBoxEditor
- 啟動 jTessBoxEditor,命令列輸入 java -Xms128m -Xmx1024m -jar jTessBoxEditor.jar