他の人からの多くのリンクと回答を含めて、一歩下がって、光学式文字認識 (OCR) には実際には 2 つの基本的なステップがあることに注意してください。
- テキスト検出: これは質問のタイトルと焦点であり、テキストを含む画像内の領域のローカライズに関係しています。
- テキスト認識: ここで実際の認識が行われ、検出されたローカライズされた画像領域が文字ごとにセグメント化され、分類されます。これはまた、Tesseract のようなツールが活躍する場所でもあります。
現在、OCR が適用される 2 つの一般設定もあります。
- 制御: これらは、スキャナーまたは同様の自然界から取得した画像であり、ターゲットがドキュメントであり、遠近法、縮尺、フォント、向き、背景の一貫性などはかなり従順です。
- 制御されていない/シーン: これらは、道路標識や店名などを認識しようとしているカメラから撮影したものなど、より自然で野生の写真です。
そのままの Tesseract は、「制御された」設定に最も適しています。一般的に、特にシーン OCR の場合、「再トレーニング」Tesseract は検出を直接改善するわけではありませんが、認識を改善する可能性があります。
シーン テキスト検出の改善を検討している場合は、この作業を参照してください。シーンテキスト認識の改善を検討している場合は、この作品を参照してください。あなたが検出について尋ねたので、検出リファレンスは最大安定極値領域 (MSER) を使用します。これには、多数の実装リソースがあります。たとえば、こちらを参照してください。
Android 専用のテキスト検出プロジェクトもあります:
https://github.com/dreamdragon/text-detection
多くの人が指摘しているように、認識はまだ未解決の研究課題であることを覚えておいてください.