Maison >développement back-end >Tutoriel Python >Comment puis-je configurer Pytesseract pour faire la distinction entre « 0 » et « O » dans la reconnaissance à un chiffre ?

Comment puis-je configurer Pytesseract pour faire la distinction entre « 0 » et « O » dans la reconnaissance à un chiffre ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-26 06:20:09794parcourir

How Can I Configure Pytesseract to Distinguish Between

Configuration multi-configuration Pytesseract OCR

Lors de l'utilisation de Pytesseract pour la reconnaissance optique de caractères (OCR), il est crucial d'optimiser ses paramètres pour améliorer précision pour des scénarios spécifiques. Cet article aborde un problème particulier où l'OCR a du mal à faire la distinction entre les nombres à un chiffre et la lettre « O ».

Problème :

Pytesseract ne peut pas faire la différence entre le nombre zéro et la lettre « O » lorsqu'il est configuré avec « -psm 7 » pour un chiffre unique reconnaissance.

Solution :

Pour relever ce défi, Tesseract 4.0.0a propose deux options de configuration clés :

  • psm (Mode de segmentation de page) : Spécifie comment Tesseract doit diviser une image en régions de texte. Pour la reconnaissance d'un seul caractère, psm doit être défini sur 10.
  • tessedit_char_whitelist : Limite Tesseract à reconnaître uniquement les caractères spécifiés. Dans ce cas, la liste blanche doit être limitée aux chiffres uniquement, par exemple "0123456789".

Exemple de code :

Le code suivant montre comment utiliser ces options de configuration ensemble :

import pytesseract
from PIL import Image

# Load the image
im = Image.open('digits_image.png')

# Multiple configuration options
target = pytesseract.image_to_string(im, config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')

Avec cette configuration, Pytesseract peut reconnaître avec précision nombres à un chiffre tout en excluant la possibilité de les confondre avec « O ».

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!

Déclaration:
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