Si vous devez détecter une chaîne de texte statique et que vous savez que ce champ tient toujours sur une seule ligne dans toutes les images, il est conseillé de saisir la valeur du texte sans espaces. Cela accélère la recherche et n’affecte pas la qualité de l’hypothèse trouvée.
Cela n’est vrai que si le texte statique du libellé a été reconnu sans erreurs. En effet, le nombre maximal d’erreurs (défini pour les éléments Static Text par deux paramètres : Max number of errors et Max error percentage) correspond au nombre d’erreurs dans un mot. Ainsi, si Max number of errors est défini sur 1, que le libellé se compose de 3 mots et que la valeur du Static Text est saisie sans espaces, le programme ne peut pas faire plus d’une erreur lors de la reconnaissance. Lorsqu’il est saisi sans espaces, le libellé est perçu par le programme comme un seul mot, quel que soit le nombre réel de mots qu’il contient. En revanche, si vous séparez les mots du libellé par des espaces, le nombre ou le pourcentage d’erreurs autorisé s’appliquera à chacun des mots saisis dans le champ Texte de recherche. Si des erreurs de reconnaissance sont présentes dans un Static Text, l’hypothèse est pénalisée selon un certain algorithme, et la qualité des hypothèses avec et sans espaces peut être différente.
Étudions le projet Spaces.fsp (dossier %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Spaces in StaticText\Project1) et examinons quelques méthodes de travail avec des éléments Static Text.
Le projet comporte 2 pages :
- Page 1 – la qualité de l’image est bonne ;
- Page 2 – le nom du champ de données est parasité.
Nous allons rechercher le champ de données “Father’s name” associé au libellé “Please indicate your father’s name here:”
Dans le projet, nous avons créé un élément de type Static Text et l’avons nommé NameOfFatherHeader. Nous avons défini sa valeur comme un seul mot sans espaces (c’est-à-dire Pleaseindicateyourfather’snamehere:). La casse du nom n’a pas d’importance. Nous avons conservé les valeurs par défaut pour toutes les autres propriétés de l’élément. Le nombre maximal d’erreurs dans le nom est de 10 caractères (30 % des 35 caractères qui composent le texte).
Après avoir exécuté la procédure de mise en correspondance FlexiLayout en sélectionnant la commande Associer, vous verrez que le nom a été détecté avec succès sur les deux pages. Cependant, sur la Page 2, la Chain quality de l’hypothèse de l’élément est d’environ 0.994, car elle a été pénalisée en raison de l’erreur de reconnaissance causée par le bruit sur le document.
Pour voir les résultats de la pré-reconnaissance du nom recherché, cliquez sur “L” (“Show Recognized Lines”) dans la barre d’outils et pointez le texte du nom. Le résultat de la pré-reconnaissance du nom du champ sur la Page 2 se présentera ainsi : “PLEASEINDICATE|OURFATHER’SNAMEHERE:”. Vous pouvez également afficher le Static Text détecté en sélectionnant l’hypothèse de l’élément NameOfFatherHeader dans la fenêtre Tree of Hypotheses, puis en déplaçant le pointeur de la souris sur la ligne Keyword dans la fenêtre Properties-Hypothesis. Dans ce cas, les résultats de la pré-reconnaissance et les erreurs détectées (le cas échéant) s’afficheront dans la partie inférieure de la fenêtre Properties-Hypotheses.
Pour détecter le champ de données “Father’s name”, nous avons créé un élément de type Character String, car le champ de données recherché n’a qu’une seule ligne et sa valeur, contrairement à Static Text, change d’un document à l’autre. Nous avons nommé l’élément FathersName et défini ses propriétés dans la section Relations. Ensuite, nous avons créé un bloc portant le même nom dans le FlexiLayout et indiqué que sa Region coïncide avec celle de l’élément FathersName (nous avons sélectionné le nom de l’élément FathersName dans le champ Source element).
Essayons maintenant d’exécuter la mise en correspondance du FlexiLayout avec les mêmes images, mais en saisissant la valeur de l’élément NameOfFatherHeader sous forme de mots séparés par des espaces.
Pour ce faire, nous avons créé le projet Spaces.fsp (dossier Spaces in StaticText\Project2). La valeur de l’élément NameOfFatherHeader est la suivante : Please indicate your father’s name here:. Tous les autres paramètres restent inchangés (ils sont identiques à ceux du projet Spaces.fsp situé dans le dossier Spaces in StaticText\Project1).
Une fois que vous avez exécuté la procédure de mise en correspondance FlexiLayout en sélectionnant la commande Associer, vous constaterez que le nom du champ a bien été détecté sur les deux pages. Cependant, le Chain quality de l’hypothèse de l’élément NameOfFatherHeader sur la Page 2 est désormais d’environ 0,987, car l’hypothèse a été pénalisée pour une erreur de reconnaissance due à la faible qualité de l’image d’origine.
Veuillez noter que si la valeur Static Text que vous saisissez dans le champ Texte de recherche contient des espaces, chaque mot sera analysé individuellement et le nombre maximal ou le pourcentage maximal d’erreurs s’appliquera à chacun d’eux. La qualité finale de l’hypothèse Static Text dépendra alors de la qualité de chacun de ces mots.