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

Formation C# sur la personnalisation des polices dans Tesseract 5 pour les développeurs Windows

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

Utilisez l'entraînement personnalisé des polices pour Tesseract 5 afin d'améliorer la précision et les capacités de reconnaissance du moteur OCR lors de l'utilisation de polices ou de styles de police spécifiques qui peuvent ne pas être bien pris en charge par défaut.

Le processus consiste à fournir à Tesseract des données d'entraînement, telles que des exemples 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 : Utiliser votre fichier de police .traineddata en C#

Voici comment utiliser votre fichier de police Tesseract personnalisé dans IronOCR en quelques lignes seulement. Idéal pour obtenir rapidement une reconnaissance optique de caractères (OCR) précise pour les polices spéciales ou décoratives.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronOCR avec le gestionnaire de packages NuGet

    PM > Install-Package IronOcr

  2. Copiez et exécutez cet extrait de code.

    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. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

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

Installez via DLL

Téléchargez directement le fichier DLL IronOCR sur votre machine.

Installez via NuGet

Vous pouvez également l'installer via NuGet avec la commande suivante :

Install-Package IronOcr

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

Consultez le tutoriel sur la configuration de WSL2 et d'Ubuntu .

Veuillez noterL'entraînement des polices personnalisées ne peut actuellement être effectué que sous Linux.

Étape 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 utiliser pour l'entraînement.

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é

Étape 5 : Montez le disque dur de votre espace de travail pour la formation aux polices personnalisées

Utilisez les commandes ci-dessous pour monter le lecteur D: comme espace de travail.

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

Étape 6 : Copiez le fichier de police dans le dossier des polices Ubuntu

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

Accédez aux fichiers sous Ubuntu en saisissant \\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 ce 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

Étape 7 : Cloner tesseract_tutorial depuis 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 depuis GitHub

Accédez 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 inclut les fichiers .traindata originaux utilisés comme référence lors de l'entraînement des 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 l'exécution split_training_text.py , des fichiers .box et .tif seront créés dans le dossier " data ".

Dépannage : Avertissement Fontconfig

Avertissement concernant la configuration des polices ! Si vous voyez l'avertissement Fontconfig warning: "/tmp/fonts.conf, line 4: empty font directory name ignored" , cela est dû à l'absence de répertoires de polices. Pour résoudre ce problème, modifiez le fichier tesseract_tutorial/fonts.conf et ajoutez :

<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-le dans /etc/fonts avec :

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

De plus, mettez à jour split_training_text.py :

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

Remarque : Nombre de fichiers d'entraînement (.box et .tif)

Le nombre actuel de fichiers d'entraînement est fixé à 100. Vous pouvez le modifier dans split_training_text.py .

! Définissez le nombre de fichiers d'entraînement

Étape 11 : Télécharger eng.traineddata

Téléchargez eng.traineddata depuis ce dépôt et placez-le dans tesseract_tutorial/tesseract/tessdata .

Étape 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
  • MODEL_NAME correspond au nom de votre police personnalisée.
  • START_MODEL est la référence .traineddata d'origine.
  • MAX_ITERATIONS définit le nombre d'itérations (plus d'itérations peuvent améliorer la précision de .traineddata ).

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

Pour résoudre les problèmes de " lecture des données impossible ", modifiez le 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 : " Échec du chargement du script Unicharset "

Insérez le fichier Latin.unicharset dans le dossier tesstrain/data/langdata . Le Latin.unicharset se trouve ici .

Étape 13 : Vérifier la précision des .traineddata créées

Avec 1000 fichiers .box et .tif et 3000 itérations d'entraînement, le fichier de sortie .traineddata (AMGDT.traineddata) atteint un taux d'erreur d'entraînement minimal (BCER) d'environ 5,77.

! Précision des données entraînées

Pour plus d'informations, consultez le tutoriel : 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,167,857 | Version: 2025.11 vient de sortir