インターフェイスの自動化作業では、テキスト認識タスクを処理する必要があることがよくありますが、OCR (光学式文字認識、光学式文字認識) ライブラリは、画像からテキストを抽出するのに役立ちます。Python には、や など、pyocr
一般的に使用される OCR ライブラリがいくつかあります。この記事では、それらを比較し、実際のインターフェイス自動化作業での使用法を示すサンプル コードをいくつか紹介します。pytesseract
python- tesseract
EasyOCR
1、pyocr
PyOCR は、複数の OCR エンジンのカプセル化を提供する Python ライブラリです。これにより、Python でのテキスト認識にさまざまな OCR エンジンを簡単に使用できるようになります。
PyOCR は次の OCR エンジンをサポートしています。
-
Tesseract: Tesseract は、Google が開発したオープンソースの OCR エンジンです。複数の言語をサポートしており、OCR 精度の点で優れたパフォーマンスを発揮します。
-
楔形文字: Cuneiform は、複数の言語とフォントをサポートするオープンソース OCR エンジンです。
-
GOCR: GOCR は、主に単純なテキストと数字を認識するために使用されるオープンソース OCR エンジンです。
該当するシーン:
-
テキストの認識と抽出: テキストの処理、検索、分析のために画像から印刷されたテキストを抽出するために使用されます。
-
ドキュメントのスキャンと変換: スキャンした紙のドキュメントを編集可能な電子ドキュメントに変換するために使用されます。
-
自動データ入力: データ処理と分析のために、画像のデータをコンピューター可読形式に変換するために使用されます。
-
画像の注釈と分類: 画像にラベルを付けて分類するために、画像からテキスト情報を抽出するために使用されます。
PyOCR をテキスト認識に使用する手順は次のとおりです。
-
PyOCR ライブラリと対応する OCR エンジンをインストールします。
pip install pyocr
-
PyOCR ライブラリと必要な OCR エンジンをインポートします。
-
OCRエンジンを初期化します。
-
イメージ ファイルを開くか、イメージを PIL イメージ オブジェクトに変換します。
-
テキスト認識には OCR エンジンの image_to_string メソッドを使用します。
例: テキスト認識に Tesseract ライブラリを使用する例を次に示します。
import pyocr
import pyocr.builders
from PIL import Image
# 初始化OCR引擎
tools = pyocr.get_available_tools()
if len(tools) == 0:
print("No OCR tool found")
exit(1)
ocr_tool = tools[0]
# 打开图像文件
image = Image.open('image.jpg')
# 使用OCR引擎进行文本识别
text = ocr_tool.image_to_string(
image,
lang='eng',
builder=pyocr.builders.TextBuilder()
)
# 打印识别结果
print(text)
この例では、最初に pyocr.get_available_tools() を使用して利用可能な OCR エンジンのリストを取得し、次に最初に利用可能なエンジンが初期化用に選択されます。次に、PIL ライブラリを使用して画像ファイルを開き、認識言語とテキスト ビルダーを指定しながら、OCR エンジンの image_to_string メソッドを使用してテキスト認識を行います。最後に認識結果を出力します。
2、ピテセラクト
pytesseract は、Tesseract OCR エンジンのラッパーを提供する Python ライブラリです。Tesseract は、Google が開発したオープンソースの OCR エンジンです。pytesseract を使用すると、Python でのテキスト認識に Tesseract を簡単に使用できるようになります。
pytesseract には次の機能があります。
-
複数言語のサポート: pytesseract は、英語、中国語、日本語などを含む複数言語のテキストを認識できます。
-
複数の画像形式をサポート: pytesseract は、JPEG、PNG、TIFF などのさまざまな一般的な画像形式を処理できます。
-
使いやすい: pytesseract は、わずか数行のコードでテキスト認識を完了できるシンプルな API を提供します。
pytesseract をテキスト認識に使用する手順は次のとおりです。
-
pytesseract ライブラリと Tesseract OCR エンジンをインストールします。
-
pytesseract ライブラリをインポートします。
-
イメージ ファイルを開くか、イメージを PIL イメージ オブジェクトに変換します。
-
テキスト認識にはpytesseract ライブラリ
image_to_string
メソッドを使用します。
以下は、テキスト認識に pytesseract を使用する例です。
import pytesseract
from PIL import Image
# 打开图像文件
image = Image.open('image.jpg')
# 使用pytesseract进行文本识别
text = pytesseract.image_to_string(image)
# 打印识别结果
print(text)
この例では、最初に PIL ライブラリを使用して画像ファイルを開き、次に pytesseract ライブラリimage_to_string
メソッドを使用して画像内のテキストをテキストとして認識し、最後に認識結果を印刷します。
テキスト認識に pytesseract を使用する前に、Tesseract OCR エンジンが正しくインストールされ、システム環境変数の 1 つとして構成されていることを確認する必要があることに注意してください。このようにして、pytesseract は識別のために Tesseract エンジンを見つけて使用できます。
3、python-tesseract
python-tesseract
Tesseract OCR エンジンのラッパーを提供する Python ライブラリです。Tesseract は、Google が開発したオープンソースの OCR エンジンです。python-tesseract
ライブラリを使用すると、Python でのテキスト認識に Tesseract を簡単に使用できるようになります。
python-tesseract
次のような特徴があります。
-
複数言語のサポート:
python-tesseract
英語、中国語、日本語などを含む複数言語のテキストを認識できます。 -
複数の画像形式をサポート:
python-tesseract
JPEG、PNG、TIFF などの複数の一般的な画像形式を処理できます。 -
使いやすさ:
python-tesseract
わずか数行のコードでテキスト認識を完了するシンプルな API を提供します。
python-tesseract
テキスト認識の手順は次のとおりです。
-
python-tesseract
ライブラリと Tesseract OCR エンジンをインストールします。 -
ライブラリをインポートします
python-tesseract
。 -
イメージ ファイルを開くか、イメージを PIL イメージ オブジェクトに変換します。
-
テキスト認識には
python-tesseract
ライブラリメソッドを使用します。image_to_string
テキスト認識を使用した例を次に示しますpython-tesseract
。
import pytesseract
from PIL import Image
# 打开图像文件
image = Image.open('image.jpg')
# 使用python-tesseract进行文本识别
text = pytesseract.image_to_string(image)
# 打印识别结果
print(text)
この例では、最初に PIL ライブラリを使用して画像ファイルを開き、次にpython-tesseract
ライブラリimage_to_string
メソッドを使用して画像内のテキストをテキストとして認識し、最後に認識結果を印刷します。
python-tesseract
テキスト認識に使用する前に、Tesseract OCR エンジンが正しくインストールされ、システム環境変数の 1 つとして構成されていることを確認する必要があることに注意してください。このようにしてpython-tesseract
、Tesseract エンジンを使用して検出および識別できます。
以下は、python-tesseract
テキスト認識を使用し、認識結果に対して後処理を実行する方法を示す、より複雑な例です。
import pytesseract
from PIL import Image
import re
# 打开图像文件
image = Image.open('image.jpg')
# 使用python-tesseract进行文本识别
text = pytesseract.image_to_string(image)
# 去除识别结果中的非法字符
cleaned_text = re.sub(r'[^a-zA-Z0-9\s]', '', text)
# 将识别结果按行分割成列表
lines = cleaned_text.split('\n')
# 去除空行
lines = [line.strip() for line in lines if line.strip()]
# 打印识别结果
for line in lines:
print(line)
この例では、まず PIL ライブラリを使用して画像ファイルを開き、次にpython-tesseract
ライブラリのimage_to_string
メソッドを使用して画像内のテキストをテキストとして認識します。次に、正規表現を使用して認識結果から不正な文字を削除し、文字、数字、スペースのみを残します。次に、認識結果を行ごとにリストに分割し、空の行を削除します。最後に、認識結果を 1 行ずつ出力します。
この例では、認識結果に対して後処理操作を実行して、よりクリーンで読みやすいテキストを取得する方法を示します。実際のニーズに基づいて、特定の文字の削除、キー情報の抽出など、必要に応じてさらに後処理操作を実行できます。
4、簡単OCR
EasyOCR は、ドキュメント スキャン、画像処理、自然言語処理などのさまざまなテキスト認識タスクに適した、強力なオープンソースの使いやすい OCR ライブラリです。開発者がテキスト認識機能を迅速に実装し、それをさまざまなアプリケーション分野に適用するのに役立ちます。他の OCR ライブラリと比較して、EasyOCR には次の特徴があります。
-
多言語サポート: EasyOCR は、中国語、英語、日本語、韓国語などを含む 80 を超える言語のテキスト認識をサポートします。複数の言語の混合テキストを処理でき、グローバルなアプリケーションに適しています。
-
高精度の認識: EasyOCR は、深層学習モデルと高度な OCR テクノロジーを使用して、高精度のテキスト認識結果を提供します。複数の公開データセットでトレーニングおよびテストされており、高い精度と堅牢性を備えています。
-
使いやすさ: EasyOCR は、テキスト認識を容易にするシンプルな API を提供します。わずか数行のコードで、画像のテキストを使用可能なテキストに変換できます。
-
クロスプラットフォームのサポート: EasyOCR は、Windows、Linux、Mac OS などの複数のプラットフォームで実行できます。Python とコマンド ライン インターフェイスをサポートしており、他のプログラミング言語やツールと統合できます。
EasyOCR を使用してテキスト認識を行う手順は次のとおりです。
-
EasyOCR ライブラリをインストールする: EasyOCR ライブラリは、 pip コマンド (たとえば、 ) を使用してインストールできます
pip install easyocr
。 -
EasyOCR ライブラリのインポート: EasyOCR ライブラリを Python コードでインポートします (例: )
import easyocr
。 -
OCR オブジェクトの作成: OCR オブジェクトを作成します。たとえば
reader = easyocr.Reader(['en', 'zh'])
、認識される言語を指定します。 -
テキストの認識: OCR オブジェクト
readtext
メソッドを使用して、画像内のテキストを認識します (例: )result = reader.readtext('image.jpg')
。 -
認識結果の処理: テキスト内容、位置、信頼度などの抽出など、必要に応じて認識結果を処理します。
以下は、テキスト認識に EasyOCR を使用する簡単な例です。
import easyocr
# 创建OCR对象
reader = easyocr.Reader(['en', 'zh'])
# 识别文字
result = reader.readtext('image.jpg')
# 处理识别结果
for (text, bbox, confidence) in result:
print(f'Text: {text}, Bbox: {bbox}, Confidence: {confidence}')
この例では、まず OCR オブジェクトを作成し、認識される言語を英語と中国語として指定します。次に、readtext
OCR オブジェクトのメソッドを使用して画像ファイルに対してテキスト認識を実行し、認識結果を含むリストを返します。最後に、認識結果をループし、各テキストの内容、位置、信頼度を出力します。
5. まとめ
この記事では、Python で一般的に使用されるいくつかの OCR ライブラリを紹介し、対応するコード例を示します。これらのライブラリは、インターフェイスの自動化作業でテキスト認識を実行するのに役立ち、それにより、より自動化された機能とタスクを実現できます。実際のニーズに基づいて、自分に合った OCR ライブラリを選択し、他のツールやテクノロジと組み合わせて、より複雑なインターフェイスの自動化作業を完了できます。