Ubuntu Linux で tesseract-ocr パッケージを使用しています。しばらく使用していますが、OCR の精度を向上させるには、アルファベットの文字のサブセットのみが必要だと思います。必要な文字は次のとおりです。
0123456789abcdefghijklmnopqrstuvwxyz
それだけで、大文字でさえありませんが、文字のサブセットに対してのみ一致するように tesseract を示すことについて誰かが私に手を差し伸べることができますか?
ありがとう、
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
あなたが探しているのは Tesseract Whitelist です。Python を使用していて、それと API を使用している場合、これでうまくいくと思います (Tesseract Google Group にあります)。
api.SetVariable("tessedit_char_whitelist", "abcdefghijklmnopqrstuvwxyz0123456789 ");
これがどのバージョンのTesseractに対応しているかはわかりません。