ホームページ > バックエンド開発 > Python チュートリアル > Python を使用して画像内のフォントを識別する方法

Python を使用して画像内のフォントを識別する方法

王林
リリース: 2023-08-26 09:39:31
オリジナル
4378 人が閲覧しました

Python を使用して画像内のフォントを識別する方法

Python を使用して写真のフォント認識を実行する方法

フォント認識は、写真内のテキストを編集可能なテキストに変換するテクノロジーです。自動ドキュメント処理、テキスト抽出、OCR など、多くのアプリケーション シナリオで優れた実用性を備えています。この記事では、Python を使用して画像上のフォントを識別する方法と、対応するコード例を紹介します。

  1. 準備
    まず、必要な Python ライブラリをいくつかインストールする必要があります。コマンド ラインで次のコマンドを入力してインストールします:

    1

    2

    pip install pytesseract

    pip install pillow

    ログイン後にコピー

    その中で、pytesseract は Tesseract-OCR エンジンに基づく Python ライブラリで、写真内のテキストを識別するために使用されます; Pillow は一般的に使用される画像処理ですPython のライブラリ。画像処理に使用します。

  2. 画像の前処理
    フォント認識の前に、フォント認識の精度を向上させるために画像に対して前処理を実行する必要があります。

まず、画像を読み取り、グレースケール処理を実行します。

1

2

3

4

from PIL import Image

 

image = Image.open('image.jpg')

gray_image = image.convert('L')

ログイン後にコピー

画像をグレースケールに変換します。グレースケール画像では、テキストと背景のコントラストがより明白になるため、役立ちます。認識精度を向上させるため。

次に、画像を 2 値化します。つまり、画像内のテキストを黒に、背景を白に処理します。

1

2

threshold = 150

binary_image = gray_image.point(lambda p: p > threshold and 255)

ログイン後にコピー

ここでの閾値は閾値であり、画像の明るさに応じて調整されます。

次に、画像に対してノイズ低減処理を実行して、干渉ノイズを除去します。

1

2

3

from PIL import ImageFilter

 

denoised_image = binary_image.filter(ImageFilter.MinFilter)

ログイン後にコピー

MinFilter は、画像内のノイズを滑らかにすることができる最小値フィルターです。

最後に、前処理された画像を保存して表示できます:

1

2

denoised_image.save('processed_image.jpg')

denoised_image.show()

ログイン後にコピー

上記は画像の前処理の手順です。前処理された画像をフォント認識エンジンに送信し、テキスト抽出を実行します。

  1. フォント認識
    フォント認識は、pytesseract ライブラリを使用すると非常に簡単です。処理された画像を入力として使用し、対応する関数を呼び出すだけです。

    1

    2

    3

    4

    import pytesseract

     

    text = pytesseract.image_to_string(denoised_image, lang='eng')

    print(text)

    ログイン後にコピー

    このうち、denoized_image は前の手順で処理された画像で、lang パラメータは認識されたテキスト言語を示します。デフォルトは英語です。

  2. 完全なコード例
    以下は、画像上のフォント認識のための完全な Python コード例です:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    from PIL import Image, ImageFilter

    import pytesseract

     

    # 图片预处理

    image = Image.open('image.jpg')

    gray_image = image.convert('L')

    threshold = 150

    binary_image = gray_image.point(lambda p: p > threshold and 255)

    denoised_image = binary_image.filter(ImageFilter.MinFilter)

    denoised_image.save('processed_image.jpg')

    denoised_image.show()

     

    # 字体识别

    text = pytesseract.image_to_string(denoised_image, lang='eng')

    print(text)

    ログイン後にコピー

概要
これこの記事では、Python を使用して画像上のフォントを識別する方法を紹介し、対応するコード例を示します。 pytesseract ライブラリを前処理して呼び出すことで、画像からテキストを簡単かつ迅速に抽出し、その後のテキスト処理を実行できます。フォント認識は実用化に向けて幅広い応用が期待されており、この記事での紹介が読者の参考になれば幸いです。

以上がPython を使用して画像内のフォントを識別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート