5 Tesseract-ocr 系列 : 使用 jTessBoxEditor,結合 tesseract-ocr-3.4 進行訓練、識別

首先,本地環境: Ubuntu 16.40 + Tesseract-ocr + jTessBoxEditor 1.7.3
(具體的環境搭建在之前都有介紹,此處不再贅述。)

這裏詳細介紹使用圖片文件作爲輸入的訓練方法。比如我的訓練素材是十張帶字體格式的數字圖片,最後我經過訓練得到的語言庫爲: num1.tessdata

  1. 準備好用作訓練素材的圖片:
    這裏寫圖片描述

  2. 跳轉到 jTessBoxEditor 的安裝目錄,打開 jTessBoxEditor 客戶端:

    cd  /your/path/jTessBoxEditor-1.7.3
    java -Xms128m -Xmx1024m -jar jTessBoxEditor.jar

    這裏寫圖片描述

  3. 由素材圖片生成 ~.tif 文件; 即 圖片素材 –> .tif
    a) Tools -> Merge TIFF

    這裏寫圖片描述

    b) 彈出對話框:Select Input Images

    這裏寫圖片描述

    c) 彈出對話框:Save Multi-page TIFF Image

    這裏寫圖片描述

    D)此步成功會在保存路徑中生成 ~.tif 文件,在這裏就是 num1.invoicenum.exp0.tif

  4. 由 .tif 文件 -> .box 文件
    兩種方式:jTessBoxEditor 和 命令行。
    a) jTessBoxEditor

    這裏寫圖片描述

    b) 命令行輸入:

    tesseract num1.invoicenum.exp0.tif num1.invoicenum.exp0 batch.nochop makebox

    // 此步執行成功會生成 ~.box 文件,在這裏就是 num1.invoicenum.exp0.box

  5. 修正 Box 文件

    這裏寫圖片描述

    這裏寫圖片描述

    // 以後的操作都可以選擇 jTessBoxEditor 或者 命令行 來操作,這裏選擇的是 命令行:

  6. 由 .box 文件 -> .tr

    tesseract num1.invoicenum.exp0.tif num1.invoicenum.exp0 box.train.stderr
  7. 由 .box 文件 -> unicharset

    unicharset_extractor num1.invoicenum.exp0.box
  8. 生成 font_properties // 本質是 ~.txt 文件,但是不帶後綴

    echo invoicenum 0 1 1 0 1 >font_properties
  9. 由 font_properties, unicharset, .tr -> shapetable

    shapeclustering -F font_properties -U unicharset num1.invoicenum.exp0.tr
  10. 由 font_properties, unicharset, .tr ->lang.unicharset, inttemp, pffmtable

    mftraining -F font_properties -U unicharset -O num1.unicharset num1.invoicenum.exp0.tr
  11. 由.tr 文件 -> normproto

    cntraining num1.invoicenum.exp0.tr

    這裏寫圖片描述

  12. 重命名 以 lang. 開頭重命名 inttemp, normproto, pffmtable, shapetable

    mv inttemp num1.inttemp
    mv normproto num1.normproto 
    mv pffmtable num1.pffmtable 
    mv shapetable  num1.shapetable

    // 重命名後有
    這裏寫圖片描述

  13. 合併生成 lang.traineddata文件,在這裏爲 num1.traineddata

    combine_tessdata num1.

    這裏寫圖片描述

  14. 將生成的lang.traineddata 文件拷貝到系統中 ~/tessdata/目錄下.
    如我的tessdata目錄爲: /usr/local/share/tessdata/

    sudo cp /your/path/num1.traineddata /usr/local/share/tessdata/
  15. 測試
    要識別的圖片:
    這裏寫圖片描述
    a) 使用自帶的語言庫 eng.traineddata 識別結果:
    這裏寫圖片描述
    b) 使用剛纔訓練得到的庫 num1.tessdata 識別結果:
    這裏寫圖片描述

End

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章