Tesseractを利用したPythonによるOCR処理
Tesseractを利用してPythonで英文のOCR処理を実現する手順を解説します。
Tesseractのダウンロード及びインストール
- 下記サイトからTesseractのインストールモジュールをダウンロードします。
https://github.com/UB-Mannheim/tesseract/wiki
本記事記載時点の最新版tesseract-ocr-w64-setup-5.3.0.20221222.exe
を例にします。 - ダウンロードしたインストーラを起動し、画面の指示に従ってインストールを実行します。
この例では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
- https://qiita.com/pon187/items/f9a70fd52cc91ddb4ed7
- https://github.com/UB-Mannheim/tesseract/wiki
- https://tesseract-ocr.github.io/tessdoc/Installation.html
- https://sourceforge.net/projects/tesseract-ocr-alt/files/
- https://github.com/UB-Mannheim/tesseract/wiki/Install-additional-language-and-script-models
更新日:2023/03/12