tessract-ocr 3.02 識別庫訓練與應用

本文主要參考官方文檔編寫實踐而成

識別庫訓練與應用步驟

通過jtessboxeditor生成.tiff圖片合集

打開jTessBoxEditor->Tools->Merge Tiff,選擇要識別的.tiff文件,生成圖片集保存爲totol.tiff
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

-生成Box 文件

  1. 打開命令行定位到剛纔totol.tiff文件的目錄下。
    我的文件是保存在D:\img下面
    這裏寫圖片描述
  2. 運行tessract如下命令生成box文件

    //tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox
    tesseract eng.totol.exp0.tif eng.totol.exp0 batch.nochop makebox

    運行完以後img目錄下面將生成一個eng.totol.exp0.box文件
  3. 打開jTessBoxEditor->Box Editor->open選擇之前生成的totol.tiff文件,修正識別結果並保存
    這裏寫圖片描述

生成tr文件

運行命令
tesseract eng.totol.exp0.tif eng.totol.exp0 box.train
img目錄下面生成了eng.totol.exp0.tr、eng.totol.exp0.txt兩個文件

計算訓練庫的字符集

運行命令
unicharset_extractor eng.totol.exp0.box
img目錄下面生成了 unicharset文件

字符屬性文件font_properties

  1. 新建一個文件font_properties不要拓展名,保存後打開編輯輸入
    totol 0 0 0 0 0

聚類

  1. 運行命令生成shapetable文件
    shapeclustering -F font_properties -U unicharset eng.totol.exp0.tr
  2. 運行命令生成eng.unicharset、inttemp、pffmtable、normproto文件
    mftraining -F font_properties -U unicharset -O eng.unicharset eng.totol.exp0.tr
    cntraining eng.totol.exp0.tr

數據字典

  1. 這img文件下新建一個words_list文件輸入你的文字庫
    格式一個字符一行,我這裏識別小寫字母和數字
    1
    2
    3
    4
    5
    6
    7
    8
    9
    0
    a
    ....
  2. 運行命令生成eng.word-dawg文件
    wordlist2dawg words_list eng.word-dawg eng.unicharset

編寫unicharambigs文件

unicharambigs文件是用來糾正識別錯誤的具體含義參照官方文檔
v1
1 m 2 r n 0

合成eng.traineddata文件

  1. 將hapetable, normproto, inttemp, pffmtable、(unicharambigs)加上lang.前綴(例子是eng.)
  2. 運行命令生成traineddata文件
  3. combine_tessdata eng.

應用

將eng.traineddata文件複製到tessdata 目錄下

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