【Mac(M1)】tesseractでOCRを体験しよう

Homebrew

本投稿ではOCRエンジンであるTesseract(テッセラクト)をインストールします。
画像の文字を認識し、テキストファイルに出力することができます。
Linux、Windows、MacとさまざまなOS上で動作することができますが
今回はMacにTesseractをインストールします。

GitHub - tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository)
Tesseract Open Source OCR Engine (main repository) - tesseract-ocr/tesseract

前提としてHomebrewのインストールが必要です。
まだの方は以下投稿を参考に構築してみてください。

Google Colabolatoryでpyocrの検証をしている記事も投稿しています。
ご興味のある方はどうぞ!

環境情報

Mac Big Sur 11.2.3
Homebrew3.0.10
Tesseract4.1.1

Tesseractのインストール

brew install tesseract

Tesseractのインストール

Tesseractのインストールが終わりました。
最後の文章の通り、英語しか言語が入っていません。

This formula contains only the “eng”, “osd”, and “snum” language data files.
If you need any other supported languages, run `brew install tesseract-lang`.

上記の通り、他の言語もまとめてインストールしてしまいます。

brew install tesseract-lang

Tesseract 日本語インストール

日本語が入っているか確認しましょう。

tesseract —list-langs | grep “jpn”

Tesseract 言語確認

「jpn_vert」は縦書きの日本語です。(vert=verticalということで垂直ですね)

tesseractコマンドを上記のように使用できているのであれば正常にインストールできています。

Mac(M1)では以下のディレクトリにインストールされます。

/opt/homebrew/Cellar/tesseract/4.1.1

Tesseractをためしてみる

tesseractコマンドの構文は以下となります。

 tesseract imagename outputbase [options…] [configfile…]

画像を用意してTesseractコマンドで画像を読み込んでみましょう。

tesseract test.png out

imagenameで画像ファイルを指定し、outputbaseに出力するテキストファイル名を入力します。

上記コマンドでは以下のように出力されました。

Tesseractで出力したテキストファイル

他言語をインストールした時のスクリーンショットを読み込ませた結果がout.txtに出力されました。
再度スクショを下に貼りますがしっかりと文字として認識できていますね。

続いては日本語を読み込ませてみます。
読み込ませる画像は以下です。(iphoneのメモ帳をスクショ)

tesseractのオプションで日本語に対応できるようにしましょう。

tesseract memo_iphone.PNG memo_iphone -l jpn+eng

Tesseractで日本語を出力

結果は以下です。

オプション「-l」で言語を選択します。複数の言語を使用する場合は「+」を使います。
今回は日本語、英語を指定しました。正しくスクショの内容をテキストとして出力できました。

最後に縦書きと横書きが入り混じった画像で検証してみます。

縦書き、横書きの画像データ

tesseract jpn_text.png jpn_text -l jpn_vert+jpn

tesseract 日本語 縦書き 横書き
tesseract 日本語 縦書き 横書き
出力結果

jpn_vertを指定することで縦書きの画像データもちゃんと認識してくれました。
日本語の手書きはうまくいきませんでしたので進展あれば投稿しようと思います。

手書きの画像

手書きの日本語テキスト

出力結果
(Tesseractの部分は少しだけ頑張ってくれた。)

手書きの出力結果

コメント

Verified by MonsterInsights
タイトルとURLをコピーしました