Tesseract 一鍵生成字庫

1.在Tesseract中訓練字庫的時候非常麻煩,輸的指令又多,而且容易出錯!於是就想着把字庫生成的指令整合起來,在MFC上進行實現!程序界面如下:


原來訓練字庫的步驟可以參考本博客中的Tesseract-OCR 訓練自己的中文字庫,從步驟可知,只能從第5步開始寫起,前面的生成tif格式的文件,生成.box文件,進行識別糾正這三步只能手動執行了!

2.從控制檯上手動輸出生成指令可知(不太明白的朋友可以根據結合指令看下,高手路過...),生成字庫時要通過cmd指令進入到Tesseract的安裝目錄,因爲訓練生成過程中用到的程序是在Tesseract的安裝目錄中,所以寫出來的程序要麼就拷貝到Tesseract的安裝目錄上運行,要麼就在生成命令中加上完整的路徑,我偷下懶,就採用了前者的方式!
3.以下就列舉下程序中遇到的一些問題:

A.重命名unicharset、inttemp、pffmtable、shapetable、normproto這五個文件失敗,如下圖:


調試下程序,發現程序代碼書寫時對的,猜想是權限問題,結果重新以管理員身份運行程序,更名成功了!但是又遇到另一個問題,詳情看B!



B.文件是有的,但是就是更名失敗,唯獨就只有一個normproto!排除了重命名代碼的問題,猜想因爲訓練指令生成需要時間,可能是由於在執行重命名的時候normproto文件還沒有生成成功,它是在執行重命名的代碼之後才生成出來的!於是就在重命名改文件名之前sleep了一下,結果發現成功了!


C.定義字體特徵文件(font 0 0 0 0 0  )中的字體名稱輸入有誤的時候,會出現以下錯誤:
這個要從.box文件中進行截取,保持一致:

D.  .BOX文件的命名需要有一定的規則(下面圖片是某博客的命名說明!),格式如下:

[lang].[fontname].exp[num].tif  。其中 其中lang爲語言名稱,fontname爲字體名稱,num爲序號,可以隨便定義! 例如:chi.myself.exp0.tif  word.font.exp0.tif  (爲了程序處理方便,在程序中.tif的文件的命名格式我也要求跟.box文件的命名格式一樣!)



E.如果生成失敗,建議將指令運行間隔時間調整大點再重新試下!

F.最終生成及測試結果如下圖,已在其他電腦上試過,可用:







程序環境:
1.VS2013 + Tesseract-Ocr 3.02.02 + Win7 旗艦版 64位

2.拷貝到其他電腦上測試可用;

3.工具下載(親測可用):Tesseract 一鍵生成字庫

發佈了32 篇原創文章 · 獲贊 25 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章