導入
OCR まわりには似た名前のライブラリがたくさんあり、最初は「どれが何をする道具なのか」で迷います。役割をはっきり分けて覚えましょう。
説明
| ライブラリ | 役割 | このコースでの扱い |
|---|---|---|
| Pillow (PIL) | 画像の読み書き・生成・基本加工 | ブラウザで実行(第2章〜) |
| OpenCV (cv2) | 本格的な画像処理(二値化・輪郭・エッジ) | ブラウザで実行(第3・4章) |
| NumPy | 画像を数値の配列として扱う土台 | ブラウザで実行(全体) |
| Tesseract / pytesseract | 定番の OCR エンジン本体 | 読み物(第5章) |
| EasyOCR | ディープラーニング系の OCR | 読み物(第5章) |
役割分担のイメージはこうです。
flowchart TB
subgraph prep["前処理・領域検出(このコースで実行)"]
P["Pillow"]
C["OpenCV"]
N["NumPy"]
end
subgraph ocr["文字認識(第5章の読み物)"]
T["Tesseract"]
E["EasyOCR"]
end
prep --> ocr
- Pillow は「画像を開く・作る・保存する・回転する」といった基本操作が得意で、軽量です。
- OpenCV は二値化・エッジ検出・輪郭抽出など、前処理の重い仕事を一手に引き受けます。
- Tesseract は Google が開発を支える定番エンジン。Python からは pytesseract 経由で使います。別途 Tesseract 本体のインストールが必要なため、ブラウザ内では動きません。
- EasyOCR は深層学習ベースで、手書きや多言語に強い一方、PyTorch を使うため重く、こちらもブラウザでは動きません。
このコースでは「前処理は本物を動かして体で覚え、認識エンジンは仕組みと使い方を読んで理解する」という役割分担で進めます。
演習
このレッスンは読み物です。「画像を加工する道具(Pillow / OpenCV)」と「文字を読む道具(Tesseract / EasyOCR)」の2グループに分けて、それぞれの名前を挙げられるようにしておきましょう。