Pythonのpytesseractを使用してテキストを抽出する方法


  1. pytesseractのインストール: pytesseractを使用するには、まずTesseract OCRエンジンをインストールする必要があります。以下のコマンドを使用して、pipを介してpytesseractをインストールできます。

    pip install pytesseract
  2. 単一の画像からテキストを抽出する: pytesseractを使用して単一の画像からテキストを抽出するには、次のコードを使用します。

    import pytesseract
    from PIL import Image
    # 画像の読み込み
    image = Image.open('image.jpg')
    # テキストの抽出
    text = pytesseract.image_to_string(image)
    # 結果の表示
    print(text)
  3. 設定オプションのカスタマイズ: pytesseractでは、いくつかの設定オプションをカスタマイズすることができます。例えば、言語を指定する場合は以下のようにします。

    import pytesseract
    from PIL import Image
    # 画像の読み込み
    image = Image.open('image.jpg')
    # 言語の指定
    config = '--psm 6 -l eng'  # 英語のテキストを抽出する場合
    # テキストの抽出
    text = pytesseract.image_to_string(image, config=config)
    # 結果の表示
    print(text)

    他の設定オプションについては、pytesseractの公式ドキュメントを参照してください。

  4. バッチ処理で複数の画像からテキストを抽出する: pytesseractを使用して複数の画像からテキストを抽出する場合は、以下のようなコードを使用できます。

    import pytesseract
    from PIL import Image
    import os
    # 画像フォルダのパス
    folder_path = 'images/'
    # フォルダ内の全画像に対してテキストを抽出
    for filename in os.listdir(folder_path):
       if filename.endswith('.jpg') or filename.endswith('.png'):
           # 画像の読み込み
           image = Image.open(os.path.join(folder_path, filename))
           # テキストの抽出
           text = pytesseract.image_to_string(image)
           # 結果の表示
           print(f"ファイル: {filename}")
           print(f"テキスト: {text}")
           print('---')

これらはpytesseractの基本的な使用例です。詳細な情報や他の使用方法については、pytesseractの公式ドキュメントを参照してください。