【概要】 EasyOCR は,PythonとPyTorchを使用した多言語対応の文字認識ソフトウェアである.テキスト検出にはCRAFTが使用されている.Windows上で動作させるためには,まず必要なツールやライブラリをインストールする必要がある.それらは,Git,Python,Visual Studioのビルドツール,NVIDIAドライバ,NVIDIA CUDAツールキット,NVIDIA cuDNN,そしてPyTorchである.EasyOCRのインストールは,公式のGitHubからクローンしたソースコードを利用する.動作確認では,easyocrコマンドを使用して文字認識を実行する.また,PythonプログラムとしてEasyOCRを利用する方法も紹介しており,具体的なプログラムコードを示している.
学習用のソースコードも公開されている.
【目次】
【関連する外部ページ】
Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.
【サイト内の関連ページ】
Windows での Git のインストール: 別ページ »で説明している.
【関連する外部ページ】
Git の公式ページ: https://git-scm.com/
【サイト内の関連ページ】
【関連する外部ページ】
Python の公式ページ: https://www.python.org/
【サイト内の関連ページ】
NVIDIA グラフィックスボードを搭載しているパソコンの場合には, NVIDIA ドライバ, NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストールを行う.
【関連する外部ページ】
コマンドプロンプトを管理者として実行: 別ページ »で説明
PyTorch のページ: https://pytorch.org/index.html
次のコマンドは, PyTorch 2.0 (NVIDIA CUDA 11.8 用) をインストールする. 但し,Anaconda3を使いたい場合には別手順になる.
事前に NVIDIA CUDA のバージョンを確認しておくこと(ここでは,NVIDIA CUDA ツールキット 11.8 が前もってインストール済みであるとする).
PyTorch で,GPU が動作している場合には,「torch.cuda.is_available()」により,True が表示される.
python -m pip install -U --ignore-installed pip python -m pip install -U torch torchvision torchaudio numpy --index-url https://download.pytorch.org/whl/cu118 python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
Anaconda3を使いたい場合には, Anaconda プロンプト (Anaconda Prompt) を管理者として実行し, 次のコマンドを実行する. (PyTorch と NVIDIA CUDA との連携がうまくいかない可能性があるため,Anaconda3を使わないことも検討して欲しい).
conda install -y pytorch torchvision torchaudio pytorch-cuda=11.8 cudnn -c pytorch -c nvidia py -c "import torch; print(torch.__version__, torch.cuda.is_available())"
【サイト内の関連ページ】
【関連する外部ページ】
コマンドプロンプトを管理者として実行: 別ページ »で説明
試してみたが,「pip install easyocr」でインストールするよりも,下の手順の方がトラブルが少なそう.
cd %HOMEPATH% rmdir /s /q EasyOCR git clone --recursive https://github.com/JaidedAI/EasyOCR cd EasyOCR pip install -e .
動作確認を行う.
次のコマンドを実行.easyocr コマンドを使用.
cd %HOMEPATH% cd EasyOCR cd examples easyocr -l ja en -f japanese.jpg --detail=1 --gpu=True
これは,次の画像についての文字認識結果である.
次のコマンドを実行.easyocr コマンドを使用.
cd %HOMEPATH% cd EasyOCR cd examples easyocr -l en -f easyocr_framework.jpeg --detail=1 --gpu=True
これは,次の画像についての文字認識結果である.
cd %HOMEPATH%\EasyOCR notepad a.py
このプログラムは, 公式ページの GitHub のページ https://github.com/JaidedAI/EasyOCR で公開されていたものを変更して使用している.
import easyocr reader = easyocr.Reader(lang_list = ['ja','en'], gpu = True) import tkinter as tk from tkinter import filedialog from PIL import Image root = tk.Tk() root.withdraw() fpaths = filedialog.askopenfilenames() for fpath in root.tk.splitlist(fpaths): print("file name: ", fpath) Image.open(fpath).show() result = reader.readtext(fpath) for i in result: print(i)
Python プログラムの実行
Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.
Python のまとめ: 別ページ »にまとめ
プログラムを a.pyのようなファイル名で保存したので, 「python a.py」のようなコマンドで行う.
python a.py
ファイル選択画面が出るので,画像ファイルを選択する.ファイルは複数選択可能である.
画像が表示される.画像の表示を確認したらその表示を閉じる. 閉じたあとに,文字認識結果が表示される.