2012-08-26 234 views
21

我試圖使用Tessaract從收據和賬單中提取數據,我正在使用tesseract 3.02版本。Tesseract訓練數據

上午只使用英文數據,仍然輸出精度約爲60%。

是否有可用的任何訓練有素的數據,我只需更換tessdata文件夾

+0

是的,我有我最新版本,不過輸出是不好的。 – nicky

+1

如果您不提供至少一個(鏈接到)典型示例文件,則無法告訴您如何提高準確性。 –

+0

這是圖像 – nicky

回答

29

這是一個「典型的示例文件」提供的圖像尼基在:

typical example file

看着它,我會明確地說:「忘記它,尼克!你無法訓練Tesseract識別這種類型的圖像100%的文本!」

然而,你可以訓練自己做出更好的照片的iPhone 3GS(這就是它被用於例如圖像的裝置)從這種類型的收據。以下是一些提示:

  • 請勿使用深色背景。改用白色。
  • 不要讓收據紙破碎。理順它。
  • 請勿將收據鬆散地放在不平坦的地下。將其固定在一個平坦的表面上:
    • 將它放在一張白紙上,並在上面放上玻璃臺板。
    • 或者使用一些膠水將其平放在白色的紙上,沒有任何彎曲的邊緣或角落。
  • 不要使用像640x480像素的低分辨率(如示例圖片所示)。使用更高的像,而不是1280x960像素。
  • 請勿使用標準曝光。將相機設置爲使用極高對比度。你希望字母是黑色的,白色的背景是真正的白色(你不需要圖片中的灰色...)
  • 試着讓它使任何10-12磅字體的字符都使用about高度爲24-30像素(即,使圖像在100%變焦時大約爲300 dpi)。

也就是說,像下面的ImageMagick命令將可能有一定程度的增加正方體的識別率:

convert        \ 
    http://i.stack.imgur.com/q3Ad4.jpg \ 
    -colorspace gray     \ 
    -rotate 90       \ 
    -crop 260x540+110+75 +repage  \ 
    -scale 166%       \ 
    -normalize       \ 
    -colors 32       \ 
    out1 .png 

它產生以下輸出:

ImageMagick optimization for OCR

你甚至可以添加如-threshold 30%作爲最後的命令行選項到上面的命令得到這個:

enter image description here

(你應該打幾分有一些變化的30%值來調整結果...我沒有這個時間。)

2

在使用Tesseract對文本進行OCR之前,您可以獲得更清晰的後處理圖像。嘗試使用背景表面閾值(BST)技術,而不是其他簡單的閾值方法。你可以找到關於here的白皮書。

有是非常有效的BST的OpenCV實現https://stackoverflow.com/a/22127181/3475075