見出し画像

【Python】Tesseract導入覚え書き

pythonでOCRをするぞー! ということで、Tesseractを導入してみたいと思います。pythonで動かすまでに色々躓いたので、導入ステップ覚え書きです。

①Tesseractをインストール

Tesseract自体はpythonのモジュールではないので、普通にwindowsにインストールします。

こちらを参考にしました。日本語モジュールの追加が必要なので、その辺りの手順は画像付きのこちらを……

インストーラーの配布はこちらのリポジトリでしてくれています

インストール時、インストールしたフォルダを控えておくと後が楽です。

②環境変数PathにTesseractをインストールしたフォルダを追加する

スタート>設定を開いて、検索ウィンドウに「システム環境変数」と入力。検索結果から「システム環境変数の編集」を選択して、システムのプロパティを開く。プロパティ画面の右下にある「環境変数」を選んで、ユーザー環境変数の「Path」の項目にインストールフォルダを追加する。

このとき、最後の「\」まで入力しないとpython側で認識してくれないので注意する。(環境によるかも知れないけど、とりあえず私のPCは\を足したらちゃんと動いた)

インストールフォルダのパスが分からなくなってしまったら、スタートメニューのアプリ一覧からTesseract-OCRを探して、Consoleを開くと、インストールフォルダで実行されるのでそこからパスが取れます。

③pyocrとPIL(pillow)をインストール

$pip install pyocr
$pip install pillow

pyocrはpythonからTesseractを制御する為のモジュール、pillowは画像を扱う為のモジュールです。

モジュールは仮想環境にインストールするといいよ。

④コードを書くよ

from PIL import Image
import pyocr

# OCRエンジンを指定する。
tools = pyocr.get_available_tools()
# OCRツールのリストが取れる。
# 複数インストールされている場合、何番目がTesseractかを確認する
print(tools) 
tool = tools[0]    # Tesseractしか入っていないので0

# 画像ファイルを読み込む。
# pythonの実行ファイルと同じフォルダにテスト用の画像を入れておく
img = Image.open("ocr-test.png") 

# OCR!
builder = pyocr.builders.TextBuilder(tesseract_layout=6)
text = tool.image_to_string(img, lang="jpn", builder=builder)

print(text)

とりあえず最低限「わーい読めた~」ってところまでのコード。

サンプルコードはこちらから

これでとりあえず「わーい読めたー!」までできました。やったー。

この記事が気に入ったらサポートをしてみませんか?