Python Python 活用 プログラミング

【python できること】pyocr + tesseractを使ったOCR

 

前回、GoogleのVisionAPIをつかってOCRをしました。

>> Google Vision API OCRで帳票画像のデータ化

 

ほかにもtesseractをつかったOCRがあります。

比較評価としてこちらもやってみます。

>>GitHub tesseract公式

 

本記事はこんな方におすすめです。

hituji
pyocr+tesseractのOCRの方法を知りたい

 

本記事の内容

  • tesseractのインストール
  • pyocr+tesseractの使い方

 

この記事を読むと、pyocr+tesseractによるOCRができるようになります。

*Windowsが対象になります。

 

今回は、左の画像を右のようにデータ化します。

Vision APIでOCRで使った帳票をそのまま使っていますが、これを見ても帳票のデータ化ができないことがわかりますね。

座標データがないので難しいです。

座標データの関係ない、短い文章とかでは使えそうです。

sample “,下記の通りご請求申上上げます。,小計,115,100円,
システム開発費,商品1,商品2,保守費用,消費税,11.510円,
ww銀行 |,ar、靖kkk,(普通),KK,合計金額,126,610円,日付,
請求書番号,hoge,東京都,2021年02月07日,電話: 080-1234-*",
1個,1個,1個,1個,単価,100.000,5.000,100,10.000,3,
金額,100.000,5.000,100,10.000

 

サンプルコード

 

スポンサーリンク

tessreractインストール

下記リンクからインストーラをダウンロードします。

>>GitHub tesseract公式

 

Nextを押します。

 

I Agreeを押します。

 

ユーザーの選択はどちらでもOK。Nextを押します。

 

線の箇所の「+」から、2つチェックする。

 

次も、線の箇所の「+」から、2つチェックする。

 

インストール先を確認して、Nextを押します。

 

Installを押します。

 

Nextを押します。

 

Finishを押して、完了です!

 

pyocrインストール

pyocrライブラリが必要になります。

pipを使ってインストールしましょう。

 

そのほかにも、以下のライブラリをインストールしてください。

 

使い方

次の手順で実装します。

実装流れ

  • pyocrでtesseractを読み込み
  • 画像取得+画像処理(必要に応じて)
  • OCR実行
  • 文字の取得

 

ライブラリ読み込み

まず、ライブラリ読み込みます。

 

OCRの関数用意

画像ファイルのパスを引数にした関数にします。

ポイント

pyocr.tesseract.TESSERACT_CMD = インストールしたtesseractのパス

は変更してください。

 

そのままの画像でも良いのですが、検出精度上がらないか模索してみました。

帳票の線を消す画像処理を追加してみました。

左が画像処理前、右が画像処理後

 

色々画像処理は試しても、結果的には安定した検出が難しかったです。

GoogleのOCRがすごいということが改めてわかります。

 

実行

最後に作った関数を実行します。

認識はしているけど、帳票データには向かないですね。

お客様アンケートなど手書きの文書など精度が悪くてもいいから、データ化しておきたい時とかであれば使えそうですね。

メリットは完全に無料でできるところですので、大量に画像処理したくて、Googleの請求が嫌な方は使ってみると良いでしょう。

-Python, Python 活用, プログラミング

© 2021 ひつじ工房