1

Ubuntu Linux で tesseract-ocr パッケージを使用しています。しばらく使用していますが、OCR の精度を向上させるには、アルファベットの文字のサブセットのみが必要だと思います。必要な文字は次のとおりです。

0123456789abcdefghijklmnopqrstuvwxyz

それだけで、大文字でさえありませんが、文字のサブセットに対してのみ一致するように tesseract を示すことについて誰かが私に手を差し伸べることができますか?

ありがとう、

4

2 に答える 2

7

python-tesseract プロジェクト ページから:

import tesseract
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyz")
api.SetPageSegMode(tesseract.PSM_AUTO)

独自の文字コレクションを に設定するだけapi.SetVariableです。

tesseract-ocr プロジェクトの FAQ から

Tesseract 2.03 の 使用

TessBaseAPI::SetVariable("tessedit_char_whitelist", "0123456789");

Init 関数を呼び出す前に、またはこれを tessdata/configs/digits というテキスト ファイルに入れます。

tessedit_char_whitelist 0123456789 

コマンドラインは次のようになります。

tesseract image.tif outputbase nobatch digits 

警告: 古い構成変数と新しい構成変数がマージされるまでは、nobatch パラメータも必要です。

Tesseract 3 数字の構成ファイルは既に作成されているため、次のように tesseract コマンドを実行するだけです。

tesseract imagename outputbase digits
于 2013-03-19T23:11:50.157 に答える
1

あなたが探しているのは Tesseract Whitelist です。Python を使用していて、それと API を使用している場合、これでうまくいくと思います (Tesseract Google Group にあります)。

api.SetVariable("tessedit_char_whitelist", "abcdefghijklmnopqrstuvwxyz0123456789 ");

これがどのバージョンのTesseractに対応しているかはわかりません。

于 2013-03-19T23:15:33.953 に答える