Pythonで画像認識のためにPytesseractを使用する方法


  1. ライブラリのインストール: まず、Pytesseractをインストールする必要があります。以下のコマンドを使用して、必要なパッケージをインストールします。
pip install pytesseract

また、Pytesseractが正しく動作するためには、Tesseract OCRエンジンもインストールする必要があります。詳細なインストール手順は、公式ドキュメントを参照してください。

  1. 画像からテキストを抽出するコード例: 以下のコードは、Pytesseractを使用して画像からテキストを抽出する基本的な例です。
import pytesseract
from PIL import Image
# 画像ファイルを開く
image = Image.open('image.jpg')
# 画像からテキストを抽出する
text = pytesseract.image_to_string(image)
# 抽出したテキストを表示する
print(text)

上記のコードでは、image.jpgという名前の画像ファイルを開き、image_to_string関数を使用してテキストを抽出しています。抽出したテキストは、print文で表示されます。

  1. 画像処理の前処理: Pytesseractは、画像処理の前処理を行うことで認識精度を向上させることができます。以下は、よく使用される前処理の例です。
import pytesseract
from PIL import Image
from PIL import ImageEnhance
# 画像ファイルを開く
image = Image.open('image.jpg')
# 画像のコントラストを増加させる
enhancer = ImageEnhance.Contrast(image)
image = enhancer.enhance(2)  # コントラストを2倍に増加させる
# 画像からテキストを抽出する
text = pytesseract.image_to_string(image)
# 抽出したテキストを表示する
print(text)

上記の例では、ImageEnhanceを使用して画像のコントラストを増加させています。これにより、テキストの認識精度が向上する場合があります。他の前処理の手法としては、画像のリサイズ、グレースケール変換、ノイズ除去などがあります。

  1. 言語の指定: Pytesseractは、デフォルトで英語のテキストを認識しますが、他の言語を認識するためには言語を指定する必要があります。以下は、日本語を認識する例です。
import pytesseract
from PIL import Image
# 画像ファイルを開く
image = Image.open('image.jpg')
# 日本語を認識するために言語を指定する
text = pytesseract.image_to_string(image, lang='jpn')
# 抽出したテキストを表示する
print(text)

上記の例では、lang='jpn'という引数を指定することで、日本語のテキストを認識します。

これらはPytesseractを使用して画像からテキストを抽出するための基本的な方法と例です。さまざまな応用例や詳細な設定については、Pytesseractの公式ドキュメントを参照してください。