3

GoogleのTesseractAPIを使用してテキストを認識するための基本的なアプリを作成し、それをカメラアプリと統合しました。正常に動作しますが、唯一の問題は精度です。テキストがランダムな文字セットとして認識されることがあり、精度は約50%だと思います。

さらに、画像内の4つ以上の単語をスキャンしようとすると、アプリがクラッシュします。

String ocrText = baseApi.getUTF8Text();
baseApi.end();

ここbaseApiで、はTesseractAPIクラスのオブジェクトです。

認識されたテキストを保存するために別のデータ構造を使用する必要がありますか、それとも4つ以上の単語が認識されない他の理由がありますか?

4

1 に答える 1

1

Tesseract API クラスは、文字列が有効な単語かどうかをチェックするisValidWordメソッドを提供します。これを使用して、認識された文字を確認できます。これにより、出力の精度が向上します。

tesseract-ocr の Java JNA ラッパーである Tess4j を使用して開発していますが、チェック後に非常に良い結果が得られます。

テキストのサイズが原因で結果が不正確になる場合があります。こちらを確認してください。「10pt x 300dpi を下回ると精度が低下し、8pt x 300dpi を急速に下回る」と表示されます。

さらに、4 つ以上の単語を検出できないことは、多くの要因、テスト画像の種類 (機能の数)、画像のサイズ、プラットフォームなどによって異なります。

于 2012-07-12T14:02:14.407 に答える