Pythonは、その豊富なライブラリと簡潔な文法により、多くの開発者に愛されています。その中でも、OCR(Optical Character Recognition)技術を用いて画像から文字を読み取るタスクは、Pythonの強力な機能を活かす絶好の例です。
OCRとは
OCRは、画像から文字を読み取る技術です。これは、スキャンした文書、写真のテキスト、手書きのメモなど、さまざまなソースから文字を抽出できます。
Tesseractとpytesseract
PythonでOCRを実装するためには、TesseractというオープンソースのOCRエンジンと、それをPythonで使えるようにしたライブラリであるpytesseractを使用します。
Tesseractのインストール
Tesseractは、以下のコマンドで各OSにインストールできます。
# Windows
https://github.com/UB-Mannheim/tesseract/wiki
# macOS
brew install tesseract
# Linux
sudo apt install tesseract-ocr
pytesseractとPillowのインストール
pytesseractとPillowは、以下のコマンドでインストールできます。
pip install pytesseract Pillow
画像から文字を読み取る
以下に、Pythonとpytesseractを使用して画像から文字を読み取る基本的なコードを示します。
import sys
import pytesseract
from PIL import Image
def image_to_text(image_path):
# 画像を読み込む
img = Image.open(image_path)
# TesseractでOCRを実行
text = pytesseract.image_to_string(img, lang='jpn')
return text
if __name__ == "__main__":
if len(sys.argv) > 1:
image_path = sys.argv[1] # コマンドライン引数から画像ファイルのパスを取得
text = image_to_text(image_path)
print(text)
else:
print("Usage: python app.py <path_to_image>")
このコードは、指定した画像ファイルから文字を読み取り、その結果を出力します。
まとめ
PythonとOCRを用いることで、画像から文字を読み取ることが可能です。これにより、文書のデジタル化、画像内のテキストの検索、画像からの情報抽出など、さまざまなタスクを自動化することができます。Pythonの強力な機能と豊富なライブラリを活用して、効率的なコードを書きましょう。.