画像からテキストを抽出するオープンソースのPythonライブラリ
PyTesseract OCRを使用して印刷されたテキストや手書き文字を簡単に抽出。
Python用PyTesseract APIとは?
PyTesseractは、Tesseract-OCRのPythonラッパーであり、画像からテキストを抽出するための強力なオープンソースツールです。開発者は、スキャンしたドキュメント、手書きのメモ、画像内のテキストを機械可読な形式に簡単に変換できます。 PyTesseractは、データ抽出、文書のデジタル化、AIアプリケーション、OCR技術を必要とする自動化プロセスで広く使用されています。
このライブラリは、データ入力の自動化、スクリーンショットからのテキスト認識、印刷された文書のデジタル化などに特に便利です。多言語サポートと画像処理技術を備えたPyTesseractは、画像からのテキスト抽出のための効果的で柔軟なソリューションを提供します。
PyTesseract APIの主な機能
- 画像をテキストに変換: OCRを使用して印刷されたテキストや手書き文字を抽出。
- 多言語対応: Tesseract OCRモデルを使用し、100以上の言語を認識可能。
- 画像の前処理に対応: OpenCVやPILと連携し、OCR処理前に画像を最適化。
- PDFからのテキスト抽出: スキャンしたPDFファイルを検索可能なテキストに変換。
- テキストと位置情報を取得: 画像内のテキストとその座標情報を取得可能。
- バッチ処理対応: 複数の画像を効率的にOCR処理。
- クロスプラットフォーム対応: Windows、macOS、Linuxで動作可能。
- オープンソース: 無料で使用可能で、コミュニティによるサポートあり。
PyTesseractのインストール
PyTesseractを使用する前に、Tesseract-OCRがシステムにインストールされていることを確認してください。
インストール手順
PyTesseractと必要なライブラリをインストール
pip install pytesseract pillow opencv-python
WindowsでTesseract-OCRをインストール:
Tesseract-OCRのインストール (Windows)
# Tesseractを以下からダウンロード:
https://github.com/UB-Mannheim/tesseract/wiki
Linuxでのインストール:
Tesseract-OCRのインストール (Linux)
sudo apt install tesseract-ocr
PyTesseract APIを使用したテキスト抽出のコード例
例 1: 画像からテキストを抽出
画像からテキストを抽出
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
image = Image.open("sample.png")
text = pytesseract.image_to_string(image)
print(text)
例 2: 境界ボックス付きでテキストを抽出
境界ボックス付きでテキストを抽出
import pytesseract
import cv2
image = cv2.imread("sample.png")
h, w, _ = image.shape
boxes = pytesseract.image_to_boxes(image)
for b in boxes.splitlines():
b = b.split()
x, y, x2, y2 = int(b[1]), int(b[2]), int(b[3]), int(b[4])
cv2.rectangle(image, (x, h - y), (x2, h - y2), (0, 255, 0), 2)
cv2.imwrite("output.png", image)
例 3: グレースケール画像からテキストを抽出
グレースケール画像からテキストを抽出
import pytesseract
import cv2
image = cv2.imread("sample.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
text = pytesseract.image_to_string(gray)
print(text)