9

tesseract を Android アプリに正常に統合しました。キャプチャした画像は何でも読み取りますが、精度は非常に低くなります。しかし、ほとんどの場合、関心のある領域の周囲のテキストもキャプチャされているため、キャプチャ後に正しいテキストを取得できません。

私が読みたいのは、長方形の端をキャプチャせずに、長方形の領域からのすべてのテキストを正確に読み取ることだけです。私はいくつかの調査を行い、これについて2回stackoverflowに投稿しましたが、それでも満足のいく結果は得られませんでした!

私が作成した2つの投稿は次のとおりです。

https://stackoverflow.com/questions/16663504/extract-text-from-a-captured-image?noredirect=1#comment23973954_16663504

Androidでキャプチャした画像から情報を抽出する

tesseract を使用するか、openCV を使用するかはわかりません

4

2 に答える 2

11

他の人からの多くのリンクと回答を含めて、一歩下がって、光学式文字認識 (OCR) には実際には 2 つの基本的なステップがあることに注意してください。

  • テキスト検出: これは質問のタイトルと焦点であり、テキストを含む画像内の領域のローカライズに関係しています。
  • テキスト認識: ここで実際の認識が行われ、検出されたローカライズされた画像領域が文字ごとにセグメント化され、分類されます。これはまた、Tesseract のようなツールが活躍する場所でもあります。

現在、OCR が適用される 2 つの一般設定もあります。

  • 制御: これらは、スキャナーまたは同様の自然界から取得した画像であり、ターゲットがドキュメントであり、遠近法、縮尺、フォント、向き、背景の一貫性などはかなり従順です。
  • 制御されていない/シーン: これらは、道路標識や店名などを認識しようとしているカメラから撮影したものなど、より自然で野生の写真です。

そのままの Tesseract は、「制御された」設定に最も適しています。一般的に、特にシーン OCR の場合、「再トレーニング」Tesseract は検出を直接改善するわけではありませんが、認識を改善する可能性があります。

シーン テキスト検出の改善を検討している場合は、この作業を参照してください。シーンテキスト認識の改善を検討している場合は、この作品を参照してください。あなたが検出について尋ねたので、検出リファレンスは最大安定極値領域 (MSER) を使用します。これには、多数の実装リソースがあります。たとえば、こちらを参照してください。

Android 専用のテキスト検出プロジェクトもあります:
https://github.com/dreamdragon/text-detection

多くの人が指摘しているように、認識はまだ未解決の研究課題であることを覚えておいてください.

于 2013-06-28T16:12:17.240 に答える
5

OCR出力を改善するための解決策は、

  • より良いトレーニングを行うために、より多くのトレーニング データを使用するか

  • 線形フィルター (グレースケーリング、高コントラスト、ぼかし) を使用して入力をフィルター処理します。

チャットでは、OCR で使用されるフィルタリング手法を説明するリンクを多数投稿しましたが、サンプル コードは投稿されませんでした。

投稿されたリンクの一部は、

OCR の入力の改善

テッセラクトのトレーニング方法

非対称フィルターを使用したテキスト強調<-- このペーパーは Google で簡単に見つけることができます。画像を OCR 処理する前に必要な手順を非常に明確に示しているため、十分に読む必要があります。

OCR分類

于 2013-06-21T15:23:14.250 に答える