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.
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
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.
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')
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)
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)
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()
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.
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)
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.
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)
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!