OCRアルゴリズムを開発する必要があるプロジェクトに取り組んでいます(画像からテキストを読み取ってから、別の言語に変換する必要があります)。したがって、最初のタスクは画像からテキストを取得することです。
最初のタスクを完了するための手順。
- 指定されたソースから任意の画像形式 (bmp、jpg、png) を読み込みます。次に、画像をグレースケールに変換し、しきい値 (Otsu アルゴリズム) を使用して 2 値化します。//完了(出力画像からノイズを除去する方法???)
結果
解像度や反転などの画像の特徴を検出します。最終的にそれをさらに処理するためにまっすぐにした画像に変換できるようにします。(画像の回転のコードは完成しましたが、画像を回転させる必要がある画像角度を検出できませんでした。そのため、まだ角度検出部分に取り組んでいます)
線の検出と削除。このステップは、ページ レイアウト分析の改善、下線付きテキストの認識品質の向上、表の検出などに必要です (その部分は最後に完了することにしました)。
ページ レイアウト分析。このステップでは、画像に存在するテキスト ゾーンを識別しようとしています。その部分のみが認識に使用され、残りの領域は除外されます。
テキスト行と単語の検出。ここでは、さまざまなフォント サイズと単語間の小さなスペースにも注意する必要があります。
文字の認識。これは OCR の主要なアルゴリズムです。すべての文字のイメージを適切な文字コードに変換する必要があります。このアルゴリズムは、不確かな画像に対して複数の文字コードを生成することがあります。たとえば、「I」文字のイメージを認識すると、「I」、「|」が生成されます。「1」、「l」コード、および最終的な文字コードは後で選択されます。
結果を選択した出力形式 (検索可能な PDF、DOC、RTF、TXT など) に保存します。元のページ レイアウト (列、フォント、色、写真、背景など) を保存することが重要です。
そのため、パート 6 で助けが必要です。行検出部分 (n 行を含む段落から n 画像を取得する) を完了しましたが、単語と文字認識を取得する次の部分で立ち往生しています。OCR と文字認識部分に関連する良いリンクを知っている場合は、投稿してくださいここ。
文字認識にはasprise(Javaライブラリ)を使おうと思っていますhttp://asprise.com/product/ocr/index.php?lang=java