LoginSignup
0
3

More than 1 year has passed since last update.

Tesseractを利用したPythonによるOCR処理

Posted at

Tesseractを利用したPythonによるOCR処理

Tesseractを利用してPythonで英文のOCR処理を実現する手順を解説します。

Tesseractのダウンロード及びインストール

  • 下記サイトからTesseractのインストールモジュールをダウンロードします。
    https://github.com/UB-Mannheim/tesseract/wiki
    本記事記載時点の最新版tesseract-ocr-w64-setup-5.3.0.20221222.exeを例にします。
  • ダウンロードしたインストーラを起動し、画面の指示に従ってインストールを実行します。
    image
    image
    image

この例ではTesseractインストールフォルダはC:\Program Files\Tesseract-OCRになります。

環境変数の設定

  • PATH環境変数へTesseractインストールフォルダ(C:\Program Files\Tesseract-OCR)を追加します。
  • TESSDATA_PREFIX環境変数へTesseractインストールフォルダ(C:\Program Files\Tesseract-OCR)を設定します。

Tesseract 設定確認

下記コマンドで、正常にTesseractが認識されていることを確認します。

tesseract --list-langs

👇正常な場合の出力

List of available languages in "C:\Program Files\Tesseract-OCR/" (2):
tessdata/eng
tessdata/osd

pyocrのインストール

TesseractをPythonから利用するため、pyocrをインストールします。

pip install pyocr

OCR処理

import sys
import pyocr
import pyocr.builders

from PIL import ImageGrab, Image

def main_logic():
    tools = pyocr.get_available_tools()
    if len(tools) == 0:
        print("No OCR tool found")
        sys.exit(1)

    tool = tools[0]
    print("Will use tool '%s'" % (tool.get_name()))

    langs = tool.get_available_languages()
    print("Available languages: %s" % ", ".join(langs))
    lang = langs[0]
    print("Will use lang '%s'" % (lang))

    txt = tool.image_to_string(
        Image.open("c:/tmp/clipboard.png"),
        lang=lang,
        builder=pyocr.builders.TextBuilder())

    print(txt)


if __name__ == '__main__':
    main_logic()

👇参考URL

Tesseractを利用したPythonによるOCR処理

更新日:2023/03/12

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3