25

Tessaractを使用してレセプトと請求書からデータを抽出しようとしています。tesseract3.02バージョンを使用しています。

英語のデータのみを使用していますが、それでも出力精度は約60%です。

tessdataフォルダーで置き換えるトレーニング済みデータはありますか?

4

4 に答える 4

30

これは、「典型的なサンプル ファイル」として nicky が提供する画像です。

典型的なサンプルファイル

それを見て、私ははっきりとこう言います

ただし、iPhone 3GS (例の写真に使用されたデバイス) でそのような種類のレシートからより良い写真を作成するように訓練することはできます。いくつかのヒントを次に示します。

  • 暗い背景を使用しないでください。代わりに白を使用してください。
  • レシート用紙が崩れないように。それをまっすぐにします。
  • レシートをでこぼこした地面にゆるく置かないでください。平らな面に固定します。
    • 白い紙の上に置き、その上にガラスのプラテンを置きます。
    • または、接着剤を使用して、端や角が曲がらないように白い紙に平らに接着します.
  • 640x480 ピクセルのような低解像度を使用しないでください (例の画像のように)。代わりに、1280x960 ピクセルなどの高い値を使用してください。
  • 標準露出は使用しないでください。非常に高いコントラストを使用するようにカメラを設定します。文字を黒く、白い背景を本当に白くしたい (写真の灰色は必要ありません...)
  • 10 ~ 12 pt のフォントの文字が約 24 ~ 30 ピクセルの高さを使用するようにしてください (つまり、画像を 100% ズームで約 300 dpi にします)。

とはいえ、次の ImageMagick コマンドのようなものは、おそらく Tesseract の認識率をある程度向上させるでしょう。

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

次の出力が生成されます。

OCR のための ImageMagick の最適化

-threshold 30% 上記のコマンドの最後のコマンドライン オプションのようなものを追加して、これを取得することもできます。

ここに画像の説明を入力

(結果を微調整するために、値にいくつかのバリエーションを加えて少し遊ぶ必要があり30%ます... 私にはこれを行う時間がありません。)

于 2012-08-29T19:28:25.873 に答える
12

領収書から正確な情報を取得することは、tesseract では不可能ではありません。Tesseract と一緒に、画像フィルターと OpenCV、NumPy ImageMagick などの他のツールを追加する必要があります。PyCon 2013 で Franck Chastagnol によるプレゼンテーションがあり、彼の会社がどのようにそれを行ったかを説明しています。

リンクは次のとおりです。 http://pyvideo.org/video/1702/building-an-image-processing-pipeline-with-python

于 2013-05-08T10:28:20.837 に答える
3

Tesseract を使用してテキストを OCR する前に、よりきれいな後処理された画像を取得できます。他の単純なしきい値処理方法ではなく、Background Surface Thresholding (BST) 手法を使用してみてください。この件に関するホワイト ペーパーは、こちらにあります。

かなりうまく機能するOpenCV用のBSTの実装があります https://stackoverflow.com/a/22127181/3475075

于 2015-01-09T21:27:13.670 に答える