私的AI研究会 > Tesseract3

OCR アプリケーション基礎編 1

 実用的な AI開発に向けて、文字認識エンジン「Tesseract」(テッセラクト)を使用した「OCR アプリケーション」を開発する。

※ 最終更新:2021/12/23 

OCR プログラムの開発過程 1

試作版

 今回開発した OCR テストプログラム「ocrtest4.py」 を拡張する。

GUI の検討

 次のステップとして「帳票」画像からそれぞれの項目を切り出して OCRに入力し結果をラベリングするアプリケーションを作成する。
 前段階としてのユーザーインターフェイスと GUIを検討する。

Step 1 帳票画像の一部領域を指定して文字認識させる

  1. メインウインドウに表示された帳票の項目をマウスドラッグで領域指定する。
  2. 指定領域の画像を切り出し別ウインドウに表示する。
  3. 切り出した画像を「tesseract」に入力し認識したテキスト文字を別ウインドウに表示するとともにコンソールに出力する。

Step 2 指定した領域の切り出しをオリジナルの元画像で行うようにする

  1. Step1 の手順でマウスで指定した領域をオリジナルの元画像の座標系に変換する。
  2. 元画像から変換した座標の領域を切り出した画像を別ウインドウに表示する。
  3. 切り出した画像を「tesseract」に入力し認識したテキスト文字を別ウインドウに表示するとともにコンソールに出力する。
    切り出しに使用した領域の座標もコンソール出力する。

入力画像の前処理をまとめる

 文字認識エンジンのための画像処理 で作成した処理プログラムをパッケージ化してアプリケーションに組み込みできるようにする。

Step 3 切り出した画像に前処理を加えて文字認識を行う

  1. Step2 と同じ手順でマウスで指定した領域をオリジナルの元画像の座標系に変換する。
  2. 元画像から変換した座標の領域を切り出した画像を別ウインドウに表示する。
  3. 切り出した画像を「tesseract」に入力し認識したテキスト文字を別ウインドウに表示するとともにコンソールに出力する。
    切り出しに使用した領域の座標もコンソール出力する。
  4. この状態で数字キーの入力で「tesseract」に入れる前の前処理を行うことができる。(詳細は次項)
  5. この版では処理結果は記録しないが、続けて別の領域を指定することで、「tesseract」の処理能力を検証できる。
  6. 'q'または'Esc'キー入力でこの画像の処理を終了する。
  7. ファイル選択ダイアログが開くので別の画像を指定することで続けて別画像で同様の処理ができる。
  8. ファイル選択ダイアログ表示中に 'Esc'キー入力又は閉じるボタンでsプリケーションを終了する。

→ 以降「OCR アプリケーション基礎編 2」へ続く

 

更新履歴

参考資料

 

Last-modified: 2022-02-10 (木) 13:56:34