PythonでOCR(Optical Character Recognition)を実装するためには、TesseractというオープンソースのOCRエンジンと、それをPythonで使えるようにしたライブラリであるPyOCRやEasyOCRを使用します。
PyOCR
PyOCRはGoogleが開発したOCRエンジンを使用してOCRを行うライブラリです。PyOCRは文章として見読み取ることに適しています。
インストール
PyOCRと日本語のOCRエンジンをダウンロードします。
!pip install pyocr
!apt install tesseract-ocr libtesseract-dev tesseract-ocr-jpn
使用例
以下にPyOCRの使用例を示します。
from PIL import Image
import pyocr
import cv2
from google.colab.patches import cv2_imshow
# pyocrが使えることを確認する
tools = pyocr.get_available_tools()
# tesseractのみダウンロードしたため0番目を指定
tool = tools[0]
print(tool.get_name()) # Tesseract (sh)と出力されればOK
EasyOCR
EasyOCRは80以上の言語をサポートし、OCRをすぐに使用できます。EasyOCRは画像内の単語を読み取ることに適しています。
インストール
EasyOCRをインストールします。
!pip install easyocr
使用例
以下にEasyOCRの使用例を示します。
import easyocr
import cv2
from google.colab.patches import cv2_imshow
reader = easyocr.Reader(['ja','en']) # 文字の選択一回だけでいい
path = "youer/path" # 画像のパスを指定
これらのライブラリを使い分けることで、より良いOCR結果を得ることができます。