概要
- M1 Macにて、OCR処理を行うための環境構築およびPythonでの使用例を示す
- OCR処理のバックエンドはTesseractを使用
- OCR処理のラッパーはpytesseractを使用
- 他にも、pyocrなどがあるが、pytesseractのほうがGoogle検索結果件数が多かったので、採用
環境
- macOS Monterey ver12.6
- MacBook Air M1(16GB memory)
- HomeBrew 3.6.11
- Tesseract 5.2.0
- Python 3.8.10(miniforge)
インストール手順
①tesseractのインストール
$ brew install tesseract
②pytesseractのインストール
$ conda install pytesseract
③pytesseractの日本語パッケージを追加
- いろいろやり方があるようだが、ここでは個別でパッケージをダウンロードする方法とする
- ダウンロード元:https://packages.ubuntu.com/focal/tesseract-ocr-jpn (githubのものより、こちらの方が精度がよいらしい)
- 「tesseract-langソースパッケージをダウンロード」より、「tesseract-lang_4.00~git30-7274cfa.orig.tar.xz」をダウンロード
- ダウンロードしたファイルを解凍し、「jpn.traineddata」「jpn_vert.traineddata」を取得
- 以下コマンドを用いて、tesseractの学習済みモデルのディレクトリを探す
$ brew list tesseract
(例:/opt/homebrew/Cellar/tesseract/5.2.0/share/tessdata/に保存されている)
- このディレクトリに、先ほどの日本語パッケージ2ファイルをコピー
- 以下コマンドで、「jpn」「jpn_vert」が表示されることを確認
$ tesseract --list-langs
※補足1:以下コマンドではFomulaeがないためエラーとなる
$ brew install tesseract-ocr-jpn
※補足2:以下コマンドでインストールできるようだが、容量が大きそう(約600MB?、日本語だけなら数MBでよいが…)
$ brew install tesseract-lang
Pythonでの動作例
import pytesseract from PIL import Image INPUT_IMG = r'test.png' img = Image.open(INPUT_IMG) result = pytesseract.image_to_string(image=img,lang='jpn') print(result)