Question

J'utilise Tesseract OCR (via pytesser ) et PIL (image Python Library) pour le test automatisé d'une application.

Je vérifie que le texte affiché est correct en faisant une capture d'écran et d'obtenir le texte grâce à Tesseract.

J'ai eu quelques problèmes au début et il semble fonctionner mieux depuis que je l'ai augmenté la taille de la capture d'écran grâce à l'interpolation bicubique de PIL.

Unfortunatelly, j'ai encore quelques erreurs comme la confusion entre '0' et 'O'. Je peux imaginer que je vais avoir d'autres problèmes similaires à l'avenir.

Je voudrais savoir s'il y a des techniques pour préparer une image afin d'aider l'OCR. Toute idée est la bienvenue.

Merci d'avance

Autres conseils

  1. Train Tesseract à reconnaître votre police
  2. l'image supplémentaire propre et avec assez d'espace libre autour des caractères
  3. Résultat:)

Voici quelques exemples du monde réel.

  • La première image est l'image originale (numéros croped wattmètre)
  • Deuxième image est légèrement nettoyé image dans GIMP, environ 50% de précision de l'OCR Tesseract
  • troisième image est l'image complètement nettoyée - 100% OCR reconnu sans aucune formation

entrer dans la description d entrer dans la description d entrer image description ici

Même dans les meilleures conditions variantes d'OCR se faufiler sur vous. Votre meilleure option sera de concevoir vos tests pour être au courant.

Pour distinguer entre 0 et O, une solution simple est de choisir une police qui établit une distinction entre les deux (par exemple: 0 a un tiret ou point dans son milieu). Serait-ce acceptable dans votre application?

Une autre solution consiste à appliquer une étape basée sur un dictionnaire après l'analyse de caractère par caractère du texte - l'alimentation du texte reconnu dans une certaine forme de différencier les caractères difficiles du correcteur orthographique ou validateur.

Par exemple, un symbole tour suivi d'autres numéros est plus susceptible d'être un zéro, alors que le même symbole suivi par des lettres est plus susceptible d'être un o capital. Il est un exemple trivial, mais il montre comment le contexte est nécessaire pour rendre un système OCR plus fiable.

scroll top