Formation sur les polices personnalisées avec le logiciel OCR Tesseract 5 en C
L'apprentissage personnalisé des polices dans Tesseract 5 améliore la précision de l'OCR pour des polices spécifiques. Le processus crée des données de formation qui enseignent les caractéristiques des polices de caractères du moteur. Le fichier résultant .traineddata fonctionne avec IronOCR pour reconnaître avec précision les polices décoratives ou spéciales.
Démarrage rapide : Utilisez votre fichier de police .traineddata en C#
Utilisez votre fichier de polices Tesseract formé sur mesure dans IronOcr avec seulement quelques lignes. Parfait pour une reconnaissance optique de caractères précise sur des polices spéciales ou décoratives.
-
Installez IronOCR avec le Gestionnaire de Packages NuGet
PM > Install-Package IronOcr -
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; -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit
- Téléchargez une bibliothèque C# pour former des polices personnalisées
- Préparer le fichier de polices cible pour la formation
- Suivez les étapes de cet article
- Appliquer des solutions pour les erreurs courantes
- Exporter le fichier de données formées
Comment télécharger la dernière version d'IronOCR?
Quelle méthode d'installation dois-je utiliser ?
Téléchargez directement le fichier DLL IronOCR sur votre machine.
Pourquoi utiliser NuGet à la place?
Vous pouvez également procéder à l'installation via NuGet à l'aide de cette commande :
Install-Package IronOcr
IronOCR offre une prise en charge complète des fonctionnalités de Tesseract 5 et des mises en œuvre de langages personnalisés, ce qui en fait la solution idéale pour les besoins spécialisés en matière d'OCR.
Comment installer et configurer WSL2 et Ubuntu?
Consultez le tutoriel sur la configuration de WSL2 et d'Ubuntu .
La formation nécessite Linux, mais les fichiers .traineddata résultants fonctionnent parfaitement sur toutes les plateformes. Pour des instructions détaillées sur l'installation de Linux, consultez notre Guide de déploiement de Linux.
Comment installer Tesseract 5 sur Ubuntu?
Utilisez ces commandes pour installer Tesseract 5 :
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
Ces packages fournissent le moteur OCR de base de Tesseract et les bibliothèques de développement nécessaires à la formation. Pour les options de configuration avancées de Tesseract, consultez notre guide de configuration détaillé.
Quelle police de caractères dois-je télécharger pour la formation ?
Ce tutoriel utilise la police AMGDT. Le fichier de police peut être au format .ttf ou .otf. 
Lors de la sélection des polices de caractères pour la formation :
- Choisissez des polices qui diffèrent sensiblement des modèles Tesseract standard
- Veiller à ce que la police de caractères soit protégée par une licence en bonne et due forme
- Envisagez des polices décoratives, manuscrites ou spécialisées
- Testez avec les polices que votre application rencontre en production
Comment monter le lecteur de disque pour la formation aux polices de caractères personnalisées?
Utilisez ces commandes pour monter le lecteur D: comme espace de travail :
cd /
cd /mnt/d
cd /
cd /mnt/d
Cela vous permet de travailler avec des fichiers stockés sur des lecteurs Windows directement à partir de l'environnement Ubuntu WSL2.
Comment copier le fichier de polices dans le dossier de polices d'Ubuntu?
Copiez le fichier de police dans ces répertoires Ubuntu : /usr/share/fonts et /usr/local/share/fonts.
Accédez aux fichiers sous Ubuntu en tapant \\wsl$ dans la barre d'adresse de l'explorateur de fichiers.

Que faire si l'accès au dossier de destination est refusé?
Si vous rencontrez des erreurs de refus d'accès, utilisez 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
L'installation des polices de caractères est cruciale pour le processus de formation. Le système doit avoir accès au rendu de la police lors de la génération des images de formation.
Comment cloner tesseract_tutorial depuis GitHub?
Clonez le dépôt tesseract_tutorial à l'aide de cette commande :
git clone https://github.com/astutejoe/tesseract_tutorial.git
git clone https://github.com/astutejoe/tesseract_tutorial.git
Ce référentiel contient des scripts Python et des fichiers de configuration essentiels pour le processus de formation. Les scripts automatisent de nombreuses étapes manuelles de la formation aux polices de caractères.
Comment 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
tesstraincontient le Makefile utilisé pour créer le fichier.traineddatatesseractcontient le dossier tessdata avec les fichiers originaux.traineddatautilisés comme références lors de l'entraînement des polices personnalisées
Pour plus d'informations sur l'utilisation de packs de langues multiples et de données de formation personnalisées, consultez notre guide des langues internationales.
Comment créer un dossier "data" pour stocker les résultats ?
Créez un dossier de données dans tesseract_tutorial/tesstrain :
mkdir tesseract_tutorial/tesstrain/data
mkdir tesseract_tutorial/tesstrain/data
Ce dossier stocke tous les fichiers de formation générés, y compris les fichiers .box, .tif et les artefacts de formation intermédiaires.
Comment exécuter split_training_text.py ?
Retournez dans le dossier tesseract_tutorial et exécutez cette commande :
python split_training_text.py
python split_training_text.py
Après l'exécution de split_training_text.py, il crée les fichiers .box et .tif dans le dossier de données.
Comment réparer l'avertissement de Fontconfig?
Si vous voyez l'avertissement Fontconfig warning: "/tmp/fonts.conf, line 4: empty font directory name ignored", cela indique des répertoires de polices manquants. Corrigez 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>
<dir>~/.fonts</dir>
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<dir>~/.fonts</dir>
Copiez-le dans /etc/fonts avec :
cp fonts.conf /etc/fonts
cp fonts.conf /etc/fonts
De plus, mettez à jour split_training_text.py :
fontconf_dir = '/etc/fonts'
fontconf_dir = '/etc/fonts'
Combien de fichiers de formation dois-je générer?
La configuration actuelle génère 100 fichiers de formation. Vous pouvez modifier ceci dans split_training_text.py.

Pour une formation de qualité :
- Commencez avec 100-500 échantillons pour les tester
- Utilisez 1000 à 5000 échantillons pour une meilleure précision
- Inclure divers échantillons de texte couvrant tous les caractères requis
- Équilibrer le temps de formation et les exigences de précision
Où puis-je télécharger eng.traineddata ?
Téléchargez eng.traineddata depuis ce dépôt et placez-le dans tesseract_tutorial/tesseract/tessdata.
Le modèle de base fournit un contexte linguistique qui améliore la précision de la reconnaissance. Choisissez un modèle de base correspondant à votre langue cible. Pour résoudre les problèmes liés aux packs linguistiques personnalisés, consultez notre guide des packs linguistiques OCR personnalisés.
Comment créer ma police personnalisée .traineddata ?
Accédez au dossier tesstrain et utilisez cette commande 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
MODEL_NAMEest le nom de votre police personnaliséeSTART_MODELest la référence originale.traineddataMAX_ITERATIONSdéfinit le nombre d'itérations (plus d'itérations améliorent la précision)
Que faire si j'obtiens "Failed to Read Data" dans le fichier 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
Cette modification permet de s'assurer que le Makefile recherche les fichiers dans la bonne structure de répertoire de sortie.
Comment corriger le message "Failed to Load Script Unicharset" ?
Insérez Latin.unicharset dans le dossier tesstrain/data/langdata. Trouvez Latin.unicharset ici .
Le fichier unicharset définit le jeu de caractères pour votre langue ou votre script. Veillez à ce qu'elle corresponde à la couverture de caractères de votre police.
Comment puis-je vérifier l'exactitude du code créé .traineddata ?
Avec 1000 fichiers .box et .tif et 3000 itérations d'entraînement, la sortie AMGDT.traineddata atteint un taux d'erreur d'entraînement minimal (BCER) d'environ 5,77 %.

Pour tester votre modèle formé avec IronOCR :
using IronOcr;
// Initialize IronOCR with custom trained data
var ocr = new IronTesseract();
// Load your custom trained font
ocr.UseCustomTesseractLanguageFile(@"path\to\AMGDT.traineddata");
// Configure for optimal results
ocr.Configuration.BlackListCharacters = "";
ocr.Configuration.WhiteListCharacters = "";
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Process an image with your custom font
using var input = new OcrInput();
input.LoadImage("test-image-with-amgdt-font.png");
// Optional: Apply filters if needed
input.EnhanceResolution(300);
input.DeNoise();
// Perform OCR
var result = ocr.Read(input);
Console.WriteLine($"Recognized Text: {result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
using IronOcr;
// Initialize IronOCR with custom trained data
var ocr = new IronTesseract();
// Load your custom trained font
ocr.UseCustomTesseractLanguageFile(@"path\to\AMGDT.traineddata");
// Configure for optimal results
ocr.Configuration.BlackListCharacters = "";
ocr.Configuration.WhiteListCharacters = "";
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Process an image with your custom font
using var input = new OcrInput();
input.LoadImage("test-image-with-amgdt-font.png");
// Optional: Apply filters if needed
input.EnhanceResolution(300);
input.DeNoise();
// Perform OCR
var result = ocr.Read(input);
Console.WriteLine($"Recognized Text: {result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
Imports IronOcr
' Initialize IronOCR with custom trained data
Dim ocr As New IronTesseract()
' Load your custom trained font
ocr.UseCustomTesseractLanguageFile("path\to\AMGDT.traineddata")
' Configure for optimal results
ocr.Configuration.BlackListCharacters = ""
ocr.Configuration.WhiteListCharacters = ""
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
' Process an image with your custom font
Using input As New OcrInput()
input.LoadImage("test-image-with-amgdt-font.png")
' Optional: Apply filters if needed
input.EnhanceResolution(300)
input.DeNoise()
' Perform OCR
Dim result = ocr.Read(input)
Console.WriteLine($"Recognized Text: {result.Text}")
Console.WriteLine($"Confidence: {result.Confidence}%")
End Using
Pour mettre en œuvre des polices personnalisées dans des applications de production, consultez notre guide sur l'utilisation de fichiers de langue personnalisés.
Pour plus d'informations, consultez le tutoriel : vidéo YouTube
Questions Fréquemment Posées
Comment utiliser un fichier de police formé sur mesure dans C# ?
Vous pouvez utiliser votre fichier de polices Tesseract formé sur mesure dans IronOcr avec seulement quelques lignes de code. Il vous suffit de créer une instance IronTesseract, d'appeler UseCustomTesseractLanguageFile() avec le chemin d'accès à votre fichier .traineddata, puis d'utiliser la méthode Read() pour effectuer l'OCR sur les images contenant votre police spéciale.
Quelles sont les exigences en matière de formation de polices personnalisées pour l'OCR ?
L'entraînement personnalisé des polices nécessite un environnement Linux (WSL2 avec Ubuntu est recommandé pour les utilisateurs de Windows), Tesseract 5 installé avec les bibliothèques de développement et le fichier de police que vous souhaitez entraîner (au format .ttf ou .otf). Les fichiers .traineddata créés sous Linux fonctionnent parfaitement avec IronOCR sur toutes les plateformes.
Pourquoi devrais-je former des polices personnalisées au lieu d'utiliser l'OCR standard ?
L'entraînement des polices personnalisées améliore la précision de l'OCR pour des polices spécifiques, en particulier les polices décoratives ou spéciales qui diffèrent considérablement des modèles Tesseract standard. IronOcr peut alors utiliser ces fichiers de polices entraînées pour reconnaître avec précision le texte dans les images contenant ces polices uniques qui seraient autrement difficiles à lire avec les modèles OCR standard.
Puis-je utiliser des polices formées sur mesure sur différentes plateformes ?
Oui, bien que le processus de formation nécessite Linux, les fichiers .traineddata résultants fonctionnent de manière transparente sur toutes les plateformes avec IronOcr. Cela signifie que vous pouvez former une fois sur Linux et utiliser le fichier de données formées sur des déploiements Windows, macOS ou Linux.
Quelle méthode d'installation est recommandée pour commencer ?
Pour une installation rapide, vous pouvez télécharger directement la DLL IronOCR ou l'installer via le Package Manager NuGet. NuGet est recommandé car il gère automatiquement les dépendances et facilite les mises à jour. IronOCR offre une prise en charge complète des fonctionnalités de Tesseract 5 et des implémentations de langages personnalisés.

