Pythonは、その豊富なライブラリと柔軟性から、多くの分野で利用されています。その一つがOCR(Optical Character Recognition:光学文字認識)です。OCRは、画像からテキストを抽出する技術で、PythonではTesseractというオープンソースのOCRエンジンと、それをPythonで使えるようにしたライブラリであるpytesseractを使用します。
Tesseractとpytesseractのインストール
まずは、Tesseractとpytesseractをインストールする必要があります。Tesseractは以下のリンクからダウンロードできます。
- Windows: Tesseract for Windows
- macOS:
brew install tesseract
- Linux:
sudo apt install tesseract-ocr
次に、Python用のOCRツールラッパーであるpytesseractをインストールします。これはpipコマンドを使用してインストールできます。
pip install pytesseract
画像からテキストを抽出
以下に、画像からテキストを抽出するためのPythonコードを示します。
import sys
import pytesseract
from PIL import Image
def image_to_text(image_path):
# 画像を読み込む
img = Image.open(image_path)
# TesseractでOCRを実行
text = pytesseract.image_to_string(img, lang='jpn')
return text
if __name__ == "__main__":
if len(sys.argv) > 1:
image_path = sys.argv[1] # コマンドライン引数から画像ファイルのパスを取得
text = image_to_text(image_path)
print(text)
else:
print("Usage: python app.py <path_to_image>")
このコードは、指定した画像ファイルからテキストを抽出し、そのテキストを出力します。lang='jpn'
とすることで、日本語のテキストを抽出することができます。
まとめ
PythonとOCRを組み合わせることで、様々な用途でテキスト抽出を行うことが可能になります。特に、大量の文書データを扱う場合や、画像内のテキストを解析する必要がある場合には、この組み合わせは非常に強力です。是非、PythonとOCRを活用して、あなたの問題解決に役立ててください。.