Comment former une police personnalisée pour Tesseract 5 en C#

C# Custom Font Training for Tesseract 5 (for Windows Users)

This article was translated from English: Does it need improvement?
Translated
View the article in English

Utiliser l'apprentissage personnalisé des polices pour Tesseract 5 afin d'améliorer la précision et les capacités de reconnaissance du moteur OCR lorsque l'on travaille avec des polices ou des styles de polices spécifiques qui ne sont pas toujours bien pris en charge par défaut.

Le processus consiste à fournir à Tesseract des données d'entraînement, telles que des échantillons de polices et le texte correspondant, afin qu'il puisse apprendre les caractéristiques et les modèles spécifiques des polices personnalisées.

Démarrage rapide : utilisation de votre fichier de polices .traineddata en C#

Voici comment vous pouvez utiliser votre fichier de polices Tesseract entraîné sur mesure dans IronOcr en quelques lignes seulement. Idéal pour obtenir rapidement un OCR précis pour les polices spéciales ou décoratives.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    var ocr = new IronOcr.IronTesseract();
    ocr.UseCustomTesseractLanguageFile("path/to/YourCustomFont.traineddata");
    string text = ocr.Read(new IronOcr.OcrInput("image-with-special-font.png")).Text;
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer

Étape 1 : Télécharger la dernière version d'IronOCR

Installation via DLL

Téléchargez la DLL IronOcr directement sur votre machine.

Installation via NuGet

Vous pouvez également procéder à l'installation via NuGet à l'aide de la commande suivante :

Install-Package IronOcr

Étape 2 : Installation et configuration de WSL2 et d'Ubuntu

Reportez-vous au tutoriel sur L'installation de WSL2 et Ubuntu.

[{i :(La formation aux polices de caractères personnalisées ne peut actuellement se faire que sous Linux.)}]]

Etape 3 : Installer Tesseract 5 sur Ubuntu

Utilisez les commandes suivantes pour installer Tesseract 5 :

sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
SHELL

Étape 4 : téléchargez la police que vous souhaitez former

Nous utilisons la police AMGDT pour ce tutoriel. Le fichier de police peut être au format .ttf ou .otf. Exemple de fichier de police téléchargé

Etape 5 : Montez le lecteur de disque de votre espace de travail pour la formation aux polices personnalisées

Utilisez les commandes ci-dessous pour monter le lecteur D: en tant qu'espace de travail.

cd /
cd /mnt/d
cd /
cd /mnt/d
SHELL

Etape 6 : Copier le fichier de polices dans le dossier de polices d'Ubuntu

Copiez le fichier de police dans les répertoires Ubuntu suivants : /usr/share/fonts et /usr/local/share/fonts.

Accédez aux fichiers dans Ubuntu en tapant \wsl$ dans la barre d'adresse de l'explorateur de fichiers.

Répertoire de dossiers Ubuntu

Dépannage : Accès au dossier de destination refusé

Si vous rencontrez des erreurs d'accès refusé, résolvez le problème en utilisant la ligne de commande pour copier les fichiers.

cd /
su root
cd /c/Users/Admin/Downloads/'AMGDT Regular'
cp 'AMGDT Regular.ttf' /usr/share/fonts
cp 'AMGDT Regular.ttf' /usr/local/share/fonts
exit
cd /
su root
cd /c/Users/Admin/Downloads/'AMGDT Regular'
cp 'AMGDT Regular.ttf' /usr/share/fonts
cp 'AMGDT Regular.ttf' /usr/local/share/fonts
exit
SHELL

Etape 7 : Cloner le tesseract_tutorial de GitHub

Clonez le dépôt tesseract_tutorial à l'aide de la commande suivante :

git clone https://github.com/astutejoe/tesseract_tutorial.git
git clone https://github.com/astutejoe/tesseract_tutorial.git
SHELL

Étape 8 : Cloner tesstrain et tesseract à partir de GitHub

Naviguez jusqu'au répertoire tesseract_tutorial, puis clonez les dépôts tesstrain et tesseract :

git clone https://github.com/tesseract-ocr/tesstrain
git clone https://github.com/tesseract-ocr/tesseract
git clone https://github.com/tesseract-ocr/tesstrain
git clone https://github.com/tesseract-ocr/tesseract
SHELL
  • tesstrain contient le "Makefile" utilisé pour créer le fichier .traineddata.
  • tesseract contient le dossier "tessdata", qui comprend les fichiers .traindata originaux utilisés comme référence pendant la formation sur les polices personnalisées.

Étape 9 : créer un dossier "data" pour stocker les résultats

Créez un dossier "data" dans tesseract_tutorial/tesstrain.

Étape 10 : Exécutez split_training_text.py

Retournez dans le dossier tesseract_tutorial et exécutez la commande suivante :

python split_training_text.py
python split_training_text.py
SHELL

Après avoir exécuté split_training_text.py, il créera des fichiers .box et .tif dans le dossier "data".

Dépannage : Avertissement concernant la configuration des polices

Avertissement sur la configuration de la police Si vous voyez l'avertissement Fontconfig warning : "/tmp/fonts.conf, line 4 : empty font directory name ignored", cela est dû à des répertoires de polices manquants. Résolvez ce problème en modifiant le fichier tesseract_tutorial/fonts.conf et en ajoutant :

<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
XML

Copiez-la dans /etc/fonts avec :

cp fonts.conf /etc/fonts
cp fonts.conf /etc/fonts
SHELL

En outre, mettez à jour split_training_text.py :

fontconf_dir = '/etc/fonts'
fontconf_dir = '/etc/fonts'
PYTHON

Note : Nombre de fichiers de formation (.box et .tif)

Le nombre actuel de fichiers de formation est fixé à 100. Vous pouvez le modifier dans split_training_text.py.

Définir le nombre de fichiers de formation

Etape 11 : Téléchargez fr.traineddata

Téléchargez eng.traineddata à partir de ce référentiel et placez-le dans tesseract_tutorial/tesseract/tessdata.

Etape 12 : Créez votre police personnalisée .traineddata

Accédez au dossier tesstrain et utilisez la commande ci-dessous dans WSL2 :

TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100
TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100
SHELL
  • NOM_MODÈLE est le nom de votre police personnalisée.
  • START_MODEL est la référence originale .traineddata.
  • MAX_ITERATIONS définit le nombre d'itérations (un plus grand nombre d'itérations peut améliorer la précision de .traineddata).

Dépannage : "Échec de la lecture des données dans le fichier Makefile

Pour résoudre les problèmes "Failed to read data", modifiez le fichier Makefile :

WORDLIST_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-word-dawg
NUMBERS_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-number-dawg
PUNC_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-punc-dawg

Dépannage : "Failed to Load Script Unicharset" (Échec du chargement du script Unicharset)

Insérez Latin.unicharset dans le dossier tesstrain/data/langdata. Le Latin.unicharset peut être trouvé ici.

Étape 13 : vérifier l'exactitude des .traineddata créés

Avec 1 000 fichiers .box et .tif et 3 000 itérations de formation, le résultat .traineddata (AMGDT.traineddata) atteint un taux d'erreur de formation minimal (BCER) d'environ 5,77.

Traineddata Accuracy

Pour plus d'informations et de références, consultez le didacticiel : Vidéo YouTube

Questions Fréquemment Posées

Comment puis-je entraîner une police personnalisée pour l'utiliser avec Tesseract en C# ?

Pour entraîner une police personnalisée pour Tesseract en utilisant C#, vous devez d'abord télécharger IronOCR, préparer votre fichier de police et configurer un environnement Linux via WSL2 et Ubuntu sur Windows, étant donné que la formation de police personnalisée de Tesseract n'est supportée que sur Linux.

Quelles sont les étapes pour installer Tesseract 5 sur un système Windows en utilisant WSL2 ?

Pour installer Tesseract 5 sur Windows en utilisant WSL2, vous devez configurer Ubuntu puis utiliser les commandes sudo apt install tesseract-ocr et sudo apt install libtesseract-dev pour compléter l'installation.

Que dois-je faire si je rencontre des erreurs 'Destination Folder Access Denied' lors de la copie des fichiers de police ?

Si vous rencontrez des erreurs 'Destination Folder Access Denied', utilisez la ligne de commande avec accès root pour copier les fichiers de police dans les répertoires nécessaires afin de contourner les problèmes de permissions.

Pourquoi un environnement Linux est-il nécessaire pour la formation de police personnalisée dans Tesseract ?

Un environnement Linux est nécessaire pour la formation de police personnalisée dans Tesseract car les outils de formation sont conçus pour fonctionner sur des systèmes de type Unix, et WSL2 peut être utilisé pour émuler cet environnement sur Windows.

Comment puis-je résoudre les erreurs 'Fontconfig warning' lors de la formation de polices personnalisées ?

Pour résoudre les erreurs 'Fontconfig warning', vous devez ajouter les chemins de répertoire de polices au fichier fonts.conf et vous assurer qu'il est copié dans le répertoire /etc/fonts.

Quel est le but du dépôt 'tesstrain' dans la formation de polices personnalisées ?

Le dépôt 'tesstrain' est utilisé pour créer le fichier .traineddata nécessaire à la formation de polices personnalisées dans Tesseract, fournissant les scripts et le Makefile nécessaires au processus.

Comment puis-je résoudre l'erreur 'Failed to Load Script Unicharset' ?

Pour résoudre l'erreur 'Failed to Load Script Unicharset', vous devez insérer le Latin.unicharset dans le dossier tesstrain/data/langdata pour garantir la disponibilité du jeu de caractères nécessaire.

Comment puis-je vérifier la précision de mes données formées personnalisées dans Tesseract ?

Vous pouvez vérifier la précision de vos données formées personnalisées en vérifiant le taux d'erreur de formation, connu sous le nom de BCER, et en vous assurant qu'il est minimal après un nombre suffisant d'itérations et d'ajustements des fichiers de formation.

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Pendant qu'il poursuivait son diplôme, Kannapat est également devenu membre du laboratoire de robotique de véhicules, qui fait partie du département de bioproduction. En 2022, il a utilisé ses compé...
Lire la suite
Revu par
Jeff Fritz
Jeffrey T. Fritz
Responsable principal du programme - Équipe de la communauté .NET
Jeff est également responsable principal du programme pour les équipes .NET et Visual Studio. Il est le producteur exécutif de la série de conférences virtuelles .NET Conf et anime 'Fritz and Friends', une diffusion en direct pour développeurs qui est diffusée deux fois par semaine où il parle de technologie et écrit du code avec les téléspectateurs. Jeff écrit des ateliers, des présentations et prévoit du contenu pour les plus grands événements de développement Microsoft, y compris Microsoft Build, Microsoft Ignite, .NET Conf et le sommet Microsoft MVP
Prêt à commencer?
Nuget Téléchargements 5,044,537 | Version : 2025.11 vient de sortir