Pythonで画像からテキストを抽出する方法

By hientd, at: 2024年4月5日20:17

Estimated Reading Time: __READING_TIME__ minutes

How to Extract Text from Images Using Python
How to Extract Text from Images Using Python

画像からのテキスト抽出、すなわち光学文字認識(OCR)は、印刷された文書のデジタル化から、リアルタイムでの街標の処理まで、数多くの応用があります。

 

Pythonは、豊富なライブラリとAPIのエコシステムにより、OCRタスクのためのいくつかのソリューションを提供します。この記事では、4つの人気のあるPythonライブラリと、画像からのテキスト抽出のための4つのクラウドAPIを探ります。

 

OCRのためのPythonライブラリ

 

1. pytesseract

 

  • 説明: GoogleのTesseract-OCRエンジンのラッパー。
     
  • コードスニペット: まずインストールを実行する必要があります pip install pytesseract

     
    from PIL import Image
    import pytesseract

    text = pytesseract.image_to_string(Image.open('image.jpg'))
    print(text)

     

  • 利点: 無料でオープンソース、多言語をサポート。
     
  • 欠点: 複雑なレイアウトの画像には苦労することがあります。

 

2. easyOCR

 

  • 説明: 40以上の言語をサポートし、シンプルさを追求した、より新しいライブラリ。
     
  • コードスニペット: インストールは pip install easyocr
     
    import easyocr

    reader = easyocr.Reader(['en'])
    results = reader.readtext('image.jpg')
    print(results)

 

  • 利点: 使いやすく、様々な画像タイプで良好なパフォーマンス。
     
  • 欠点: ディープラーニングモデルのためサイズが大きい。

 

3. OCRopus

 

  • 説明: Pythonで書かれたOCRスイートで、歴史的文書の認識に重点を置いています。
     
  • コードスニペット:
    # OCRopusはコマンドラインを使用するため擬似コード
    ocropus-rpred 'image.jpg'

 

  • 利点: 歴史的文書に優れ、オープンソース。
     
  • 欠点: 近代的なテキストレイアウトには効果が薄く、コマンドラインベース。

 

OCRのためのクラウドAPI

 

1. Microsoft OCR

 

 

2. Amazon Textract

 

 

3. Google Cloud Vision API

 

  • 説明: テキスト検出を含む強力な画像分析機能を提供します。
     
  • SDK: https://cloud.google.com/python/docs/reference/vision/latest
     
  • 利点: 非常に正確で、他のGoogleサービスとの統合が容易。
     
  • 欠点: 大量ユーザーにとっては価格が懸念事項となる場合があります。

 

結論

 

結論として、Python OCRは、単純なテキスト抽出から複雑な文書分析まで、幅広いユースケースに対応する、それぞれ独自の長所と短所を持つ多様なツールとクラウドAPIを提供します。歴史的な写本を扱っていても、最新の文書を扱っていても、適切なソリューションがあります。ただし、適切なツールまたはAPIを選択することは、精度、言語サポート、コスト、統合の容易さなど、特定のニーズによって異なります。

 

ChatGPTがAzure Servicesで利用可能になったため、Microsoft Document IntelligenceまたはOCRが現在では最良であると考えられます

 

最終更新 - 2025年1月8日: 最近、Andrew Ng氏から新しいLinkedIn投稿がありました。こちらもご覧ください。

Tag list:
- Python
- Microsoft AI
- OCRopus
- easyOCR
- Google AI
- Packages
- extract text
- pytesseract
- extract text from image
- OCR
- ChatGPT
- image to text

Related

Python Project Management

Read more
Python AI

Read more

Subscribe

Subscribe to our newsletter and never miss out lastest news.