2013-05-02 316 views
13

據我所知,Tesseract 3.x帶有6個英文(如果我錯了,糾正我)字體。我需要培訓Tesseract更多5種字體。我只需要大寫字母和數字(沒有特殊字符或符號)。「添加」新字體到Tesseract eng.traineddata

我也跟着例如各種過程: Adding New Fonts to Tesseract 3 OCR Engine

,並使用工具,像 Serak Tesseract Trainer for Tesseract 3.02

自動化過程產生箱文件我用QT Box Editor

使用上述工具後,我得到eng.traineddata文件。所有教程都告訴我將eng.traineddata文件添加到Tesseract-OCR\tessdata文件夾,但這樣做會取代原始文件eng.traineddata。這樣做後,我會失去Tesseract 3.x的默認字體?

如何添加新字體?它對我仍然不清楚。我希望有人能幫助我。謝謝。

回答

15

應該使用不同的名稱,例如eng1.traineddata。這樣,您可以通過指定語言選項-l eng+eng1將新數據與原始數據一起使用。

+1

我可以在哪裏指定語言選項-l eng + eng1? – manu 2014-04-16 09:04:12

+1

這聽起來可能太懶惰了,但是有沒有辦法提供一個字體文件作爲輸入(對一個網站來說),並提供了一個訓練有素的「tessdata」作爲輸出? – tipycalFlow 2014-05-14 14:10:35

+0

@tipycalFlow [jTessBoxEditor](http://vietocr.sourceforge.net/training.html)有一個TIFF /盒子生成器。您可以提供一個字體文件並獲得一個正確值的框。通過[Serak Tesseract Trainer](http://code.google.com/p/serak-tesseract-trainer/),您可以完成剩下的工作。 – 2014-12-19 09:51:27

0

如果您有不同字體的新訓練數據,我認爲您沒有對新字體進行字典更正。

要添加新的培訓資料,你可以做到這一點(我在這裏使用PHP代碼)

// as you new trained data, it must be 3 letter prefix 
// what ever 3 letter you want 
$languange = "eng+deu"; 
$settingLanguage = $tesseract -> setLanguage($language) ; 

通過觀察tesseract.php功能setLanguage(),您可以通過設置該功能的語言。