pythonからOCR(Tesseract )を使ってみよう

Python

Tesseract-OCRの導入

Tesseract-OCRの導入

導入方法は下記のリンクを参照願います。

環境パスの設定

環境パスにTesseract-OCRを設定する。
検索窓で「環境設定を編集する」と入力する。
環境設定のダイアログを起動する。
ユーザー環境変数の「path」を選択する。
「C:\Program Files\Tesseract-OCR」を選択する。

パスの確認

コマンドプロントを起動し下記のコマンドを投入。
エラーにならない事を確認する。
tesseract --version

OCRライブラリのインストール

PyOCRのインストール

OCR用のライブラリは何種類ありますが、
今回はPyOCRを使用します。
vscoodeを起動し仮想環境で実施します。
設定方法は下記を参照してください。
vscoodeを起動後に「ターミナル」⇒「新しいターミナル」を
実行し起動を確認します。
「(aiocr_env) PS O:\py\pyocr> 」
(aiocr_env)が付いている事を確認します。
下記のコマンドを投入する。
py -m pip install pyocr

pythonからTesseract-OCRを使用する

サンプルソース

読み込み画像
import os
from PIL import Image
import pyocr
import pyocr.builders

# 1.OCRエンジンの取得
tools = pyocr.get_available_tools()
tool = tools[0]

# 2.原稿画像の読み込み
#ソースと同じフォルダに配置している画像ファイル
img_org = Image.open("1-1.PNG")

# 3.OCR実行
#tesseract_layout=3はディフォルト設定値となります。
#5を設定した場合は、縦読みを実施できます。
builder = pyocr.builders.TextBuilder(tesseract_layout=3)
result = tool.image_to_string(img_org, lang="jpn", builder=builder)

#結果出力
print("\n"+result)
出力結果
シグの備忘録

縦文字時の文字抽出

サンプルソース

読み込み画像
import os
from PIL import Image
import pyocr
import pyocr.builders

# 1.OCRエンジンの取得
tools = pyocr.get_available_tools()
tool = tools[0]

# 2.原稿画像の読み込み
#ソースと同じフォルダに配置している画像ファイル
img_org = Image.open("Py1.PNG")

# 3.OCR実行
#tesseract_layout=3はディフォルト設定値となります。
#5を設定した場合は、縦読みを実施できます。
builder = pyocr.builders.TextBuilder(tesseract_layout=5)
result = tool.image_to_string(img_org, lang="jpn_vert", builder=builder)

#結果出力
print(result)
出力結果
シグ の 備忘 録

※出力結果に微妙にスペースが入っていますね。
 上手く修正出来たら更新します。

備忘

「 pyocr.builders.TextBuilder(tesseract_layout=5)」
・tesseract_layoutは5を縦書きを指定する。

「tool.image_to_string(img_org, lang="jpn_vert", builder=builder)」
langにjpn_vert(日本語縦書き)を指定する。

コメント

タイトルとURLをコピーしました