Maison > développement back-end > Tutoriel Python > Comment utiliser Python pour identifier les polices dans les images

Comment utiliser Python pour identifier les polices dans les images

王林
Libérer: 2023-08-26 09:39:31
original
4159 Les gens l'ont consulté

Comment utiliser Python pour identifier les polices dans les images

Comment utiliser Python pour effectuer la reconnaissance de polices sur des images

La reconnaissance de polices est une technologie qui convertit le texte des images en texte modifiable. Il est très pratique dans de nombreux scénarios d'application, tels que le traitement automatisé de documents, l'extraction de texte, l'OCR, etc. Cet article explique comment utiliser Python pour identifier les polices sur les images et fournit des exemples de code correspondants.

  1. Préparation
    Tout d'abord, nous devons installer certaines bibliothèques Python nécessaires. Entrez la commande suivante sur la ligne de commande pour installer :

    pip install pytesseract
    pip install pillow
    Copier après la connexion

    Parmi elles, pytesseract est une bibliothèque Python basée sur le moteur Tesseract-OCR, utilisée pour identifier le texte dans les images ; Pillow est une bibliothèque de traitement d'image couramment utilisée en Python, utilisée pour traiter les images.

  2. Prétraitement de l'image
    Avant la reconnaissance des polices, nous devons effectuer un prétraitement sur l'image pour améliorer la précision de la reconnaissance des polices.

Tout d'abord, lisez l'image et effectuez un traitement en niveaux de gris :

from PIL import Image

image = Image.open('image.jpg')
gray_image = image.convert('L')
Copier après la connexion

Convertissez l'image en niveaux de gris car dans l'image en niveaux de gris, le contraste entre le texte et l'arrière-plan est plus évident, ce qui contribue à améliorer la précision de la reconnaissance.

Ensuite, nous pouvons binariser l'image, c'est-à-dire traiter le texte de l'image en noir et l'arrière-plan en blanc.

threshold = 150
binary_image = gray_image.point(lambda p: p > threshold and 255)
Copier après la connexion

Le seuil ici est un seuil, qui est ajusté en fonction de la luminosité de l'image.

Ensuite, nous pouvons effectuer un traitement de réduction du bruit sur l'image pour supprimer les bruits parasites.

from PIL import ImageFilter

denoised_image = binary_image.filter(ImageFilter.MinFilter)
Copier après la connexion

MinFilter est un filtre à valeur minimale qui peut atténuer le bruit dans l'image.

Enfin, nous pouvons enregistrer l'image prétraitée et l'afficher :

denoised_image.save('processed_image.jpg')
denoised_image.show()
Copier après la connexion

Voici les étapes de prétraitement de l'image. Nous pouvons envoyer l'image prétraitée au moteur de reconnaissance de polices pour l'extraction de texte.

  1. Reconnaissance des polices
    La reconnaissance des polices est très simple en utilisant la bibliothèque pytesseract. Il suffit d'utiliser l'image traitée comme entrée et d'appeler la fonction correspondante.

    import pytesseract
    
    text = pytesseract.image_to_string(denoised_image, lang='eng')
    print(text)
    Copier après la connexion

    Parmi eux, denoised_image est l'image traitée à l'étape précédente, et le paramètre lang représente la langue du texte reconnue, qui est par défaut l'anglais.

  2. Exemple de code complet
    Ce qui suit est un exemple de code Python complet pour la reconnaissance des polices sur les images :

    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)
    Copier après la connexion

Résumé
Cet article présente comment utiliser Python pour la reconnaissance des polices sur les images et fournit l'exemple de code correspondant. En prétraitant et en appelant la bibliothèque pytesseract, nous pouvons facilement et rapidement extraire le texte de l'image et effectuer un traitement de texte ultérieur. La reconnaissance des polices a de larges perspectives d'application dans des applications pratiques. J'espère que l'introduction de cet article sera utile aux lecteurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal