2013-05-03 95 views
2

我試圖讓Tesseract識別來自燃氣表單元照片的數字。 但它返回大部分是空的頁面作爲輸出。(我用的Tesseract 3.02) 例如帶煤氣表的Tesseract OCR

pic 1, some tweaking

我想用正方體爲OCR應用程序的Android,所以我只是檢查,如果正方體是連能夠識別這樣的數字。第一張照片是我在java程序中用圖像預處理得到的。

如果我使用gimp並手動進行一些調整,tesseract會識別它。但我需要它來識別圖片1.有什麼我可以做到這一點? - >pic 2, gimp tweak

回答

2

第一張圖片實際上給出了最新的Tesseract版本的正確輸出。

Tesseract由於遵循分段邏輯有時會給出空白頁面。在你的情況下,它會嘗試分割單個單詞,結果所有這些字符將被視爲噪音,識別將失敗。

如果你打算承認gasmeter單元的照片,考慮設置正方體的網頁分塊模式 8(它告訴正方體假設給定的圖像作爲一個單詞)

您也可以考慮tesseract的其他頁面分割模式

0 =只有方向和腳本檢測(OSD)。

1 =使用OSD自動分頁。

2 =自動頁面分割,但沒有OSD,或者OCR

3 =全自動頁分割,但沒有OSD。 (默認)

4 =假設一列可變大小的文本。

5 =假設一個統一的垂直排列文本塊。

6 =假設一個統一的文本塊。

7 =將圖像視爲單個文本行。

8 =將圖像視爲一個單詞。

9 =將圖像視爲圓圈中的單個單詞。

10 =將圖像視爲單個字符。

要設置特殊的詩,用「正方體-psm

我建議你一兩件事。既然你要認識到它只有數字gasmeter值,你可以指定一個自定義的字符集配置的Tesseract文件僅包含數字。字符集的大小越小,識別的準確性越高。字符集應始終包含輸入圖像可能具有的字符。

即使嘗試了上述所有組合,如果tesseract無法正確識別輸入圖像,請嘗試通過消除這些不需要的斑點來提高輸入圖像的質量。您可以嘗試使用ImageMagick清理輸入圖像。希望這可以幫助。