スキャン後に自動的にルーティングできるように、紙のフォームから2つの事前に印刷された(手書きではない)フィールドを引き出す必要があります。フィールドには、「GG-9192」や「EPN/245G」などのバッチおよびアイテム識別子が含まれます。
私は次のソフトウェアを試しました:
- Tesseract-OCR
- 楔形文字
- CanonImageRunner組み込みOCR
- Asprise OCR Java API(デモ)
次の設定を試しました。
- 300dpiおよび600dpiの解像度でスキャン
- OCR-AやOCR-Bなどのさまざまなフォントを試しました。
すべての場合において、出力はほとんどいたるところにありました。必要な情報を適切に抽出できないドキュメントをキックバックすることはできますが、少なくとも半分になると思います。データベース内の既知の値に基づいて、ある種のファジーロジックを検討しましたが、これらの識別子は、「123G」や「123C」のように1文字だけ異なる場合があります。
これは失われた原因ですか? おそらく、OCRは、この性質の要件を処理するのに十分成熟していないのでしょうか。他にどのようなテクニックをお勧めしますか?バーコード?
編集:含まれているアプリケーションはJavaであるため、無料または安価なJavaベースのAPIがある推奨事項が役立ちます。
編集2:誰かが興味を持っている場合...特別な調整なしで、Linux用の楔形文字とCanon ImageRunnerが最もよく機能し、Tesserect-OCRとAspriseJavaAPIが最悪の結果をもたらしました...4つのうちどれも標準以外には受け入れられませんでしたドキュメント検索グレードのOCR。これはうまくいかないと思い始めています。