Comment extraire du texte à partir d'un fichier image

Comment utiliser le tesseract de fer en C

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

IronOCR fournit une API intuitive pour utiliser le Tesseract 5 personnalisé et optimisé, connu sous le nom d'Iron Tesseract. En utilisant IronOCR et IronTesseract, vous pourrez convertir des images de texte et des documents numérisés en texte et en PDF consultables.

Démarrage rapide : Configuration d'IronTesseract en C#

Voici une méthode ultra-rapide pour démarrer avec IronTesseract. Cet exemple montre comment démarrer le moteur, ajuster quelques paramètres et exécuter la reconnaissance optique de caractères (OCR) : une seule image, un seul appel, sans code répétitif.

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 result = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true, WhiteListCharacters = "ABCabc123" } }.Read(new IronOcr.OcrInput("image.png"));
  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

Créer une instance d'IronTesseract

Il suffit d'initialiser un objet Tesseract comme ceci :

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-initialize-irontesseract.cs
using IronOcr;

IronTesseract ocr = new IronTesseract();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Vous pouvez personnaliser le comportement d'IronTesseract en sélectionnant différentes langues, en activant la lecture des codes-barres et en ajoutant des caractères à la liste blanche ou noire :

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-configure-irontesseract.cs
IronTesseract ocr = new IronTesseract
{
    Configuration = new TesseractConfiguration
    {
        ReadBarCodes = false,
        RenderHocr = true,
        TesseractVariables = null,
        WhiteListCharacters = null,
        BlackListCharacters = "`ë|^",
    },
    MultiThreaded = false,
    Language = OcrLanguage.English,
    EnableTesseractConsoleMessages = true, // False as default
};
Dim ocr As New IronTesseract With {
	.Configuration = New TesseractConfiguration With {
		.ReadBarCodes = False,
		.RenderHocr = True,
		.TesseractVariables = Nothing,
		.WhiteListCharacters = Nothing,
		.BlackListCharacters = "`ë|^"
	},
	.MultiThreaded = False,
	.Language = OcrLanguage.English,
	.EnableTesseractConsoleMessages = True
}
$vbLabelText   $csharpLabel

Une fois cela fait, vous pouvez utiliser les fonctionnalités de Tesseract pour lire les objets OcrInput :

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-read.cs
IronTesseract ocr = new IronTesseract();

using OcrInput input = new OcrInput();
input.LoadImage("attachment.png");
OcrResult result = ocr.Read(input);
string text = result.Text;
Dim ocr As New IronTesseract()

Using input As New OcrInput()
	input.LoadImage("attachment.png")
	Dim result As OcrResult = ocr.Read(input)
	Dim text As String = result.Text
End Using
$vbLabelText   $csharpLabel

Variables de configuration avancées de Tesseract

L'interface IronOCR Tesseract permet un contrôle total des variables de configuration de Tesseract via la classe IronOCR.TesseractConfiguration .

Exemple de code de configuration Tesseract

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-tesseract-configuration.cs
using IronOcr;
using System;

IronTesseract Ocr = new IronTesseract();

Ocr.Language = OcrLanguage.English;
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;

// Configure Tesseract Engine
Ocr.Configuration.TesseractVariables["tessedit_parallelize"] = false;

using var input = new OcrInput();
input.LoadImage("/path/file.png");

OcrResult Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Imports IronOcr
Imports System

Private Ocr As New IronTesseract()

Ocr.Language = OcrLanguage.English
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd

' Configure Tesseract Engine
Ocr.Configuration.TesseractVariables("tessedit_parallelize") = False

Dim input = New OcrInput()
input.LoadImage("/path/file.png")

Dim Result As OcrResult = Ocr.Read(input)
Console.WriteLine(Result.Text)
$vbLabelText   $csharpLabel

Liste de toutes les variables de configuration de Tesseract

Ces valeurs peuvent être définies à l'aide de IronTesseract.Configuration.TesseractVariables["key"] = value; .

Variable de configuration Tesseract Défaut Signification
classify_num_cp_levels3Nombre de niveaux de taille de l'élagueuse
textord_debug_tabfind0Recherche de l'onglet de débogage
textord_debug_bugs0Activer les résultats relatifs aux bogues dans la recherche par onglets
textord_testregion_gauche-1Bord gauche du rectangle de rapport de débogage
textord_testregion_top-1Bord supérieur du rectangle de rapport de débogage
textord_testregion_droite2147483647Bord droit du rectangle de débogage
textord_testregion_bottom2147483647Bord inférieur du rectangle de débogage
textord_tabfind_show_partitions0Afficher les limites de la partition, en attente si >1
niveau de débogage de la division devanagari0Niveau de débogage pour le processus shiro-rekha divisé.
bords_max_enfants_par_contour10Nombre maximal d'enfants à l'intérieur d'un contour de personnage
couches enfants maximum des bords5Nombre maximal de calques enfants imbriqués dans le contour d'un personnage
bords_enfants_par_petit-enfant10Rapport d'importance pour le découpage des contours
limite du nombre d'enfants aux bords45Nombre maximal de trous autorisés dans la tache
bords_min_non-trou12Nombre minimal de pixels pour un caractère potentiel dans la boîte
rapport de surface du chemin des bords40lentille/surface maximale pour un contour d'enfant acceptable
textord_fp_chop_error2Courbure maximale autorisée des cellules hachées
textord_tabfind_afficher_images0Afficher les images en globule
textord_skewsmooth_offset4Pour un facteur lisse
textord_skewsmooth_offset21Pour un facteur lisse
textord_test_x-2147483647coordonnées du point de test
textord_test_y-2147483647coordonnées du point de test
textword_min_blobs_dans_ligne4Nombre minimal de blobs avant le comptage du gradient
textord_spline_minblobs8Nombre minimal de blobs dans chaque segment de spline
textord_spline_médianewin6Taille de la fenêtre pour la segmentation spline
textord_max_blob_overlaps4Nombre maximal de blobs qu'un gros blob peut chevaucher
textord_min_xhauteur10Hauteur minimale crédible des pixels
textord_lms_line_trials12Nombre de lignes à faire
vieux_trou_perte10Max a perdu avant que la ligne de repli ne soit utilisée.
version linéaire de Pitsync6Utiliser un nouvel algorithme rapide
profondeur_fausse_synchronisation_pit1Génération de faux avancée maximale
textord_tabfind_show_strokewidths0Afficher l'épaisseur des traits
intervalle de matrice de points textord3Écart maximal entre les pixels pour un pas de pixel brisé
bloc de débogage textord0Blocage pour effectuer le débogage sur
plage de hauteur de textord2Test de portée maximale sur le terrain
pouvoir de veto des mots textord5Nombre de lignes nécessaires pour annuler un veto
equationdetect_save_bi_image0Enregistrer l'image bi d'entrée
equationdetect_save_spt_image0Enregistrer l'image du caractère spécial
equationdetect_save_seed_image0Sauvegarder l'image de la graine
equationdetect_save_merged_image0Enregistrer l'image fusionnée
poly_debug0Déboguer l'ancien poly
poly_wide_objects_better1Approximation plus précise pour les objets larges
wordrec_display_splits0Division de l'affichage
textord_debug_imprimable0Rendre les fenêtres de débogage imprimables
textord_space_size_is_variable0Si cela est vrai, on suppose que les espaces de séparation des mots ont une largeur variable, même si les caractères ont un espacement fixe.
textord_tabfind_show_initial_partitions0Afficher les limites de la partition
textord_tabfind_show_reject_blobs0Afficher les blobs rejetés comme bruit
textord_tabfind_afficher_colonnes0Afficher les limites des colonnes
textord_tabfind_show_blocks0Afficher les limites finales du bloc
textord_tabfind_find_tables1Détection de table d'exécution
devanagari_split_debugimage0Faut-il créer une image de débogage pour le processus shiro-rekha divisé ?
textord_show_fixed_cuts0Tracer les limites des cellules à pas fixe
edges_use_new_outline_complexity0Utilisez le nouveau module de complexité des contours
edges_debug0Activez le débogage pour ce module
contours_enfants_fix0Supprimer les parents carrés des enfants ressemblant à des charbons
gapmap_debug0Indiquez quels blocs contiennent des tables
gapmap_utiliser_ends0Prévoyez un grand espace au début et à la fin des rangées.
gapmap_no_isolated_quanta0Veillez à ce que les espaces ne soient pas inférieurs à 2 quanta de largeur.
textord_lourd_nr0Supprimer vigoureusement le bruit
textord_show_initial_rows0Afficher l'accumulation de lignes
textord_show_parallel_rows0Afficher les lignes corrélées de la page
textord_show_expanded_rows0Afficher les lignes après développement
textord_afficher_dernières_lignes0Afficher les rangées après l'ajustement final
textord_show_final_blobs0Afficher les limites du blob après le pré-assemblage
textord_test_paysage0Les tests concernent les opérations terrestres/portuaires
lignes de base parallèles textord1Lignes de base parallèles de force
lignes de base droites de textord0Forcer les lignes de fond droites
textord_old_baselines1Utiliser l'ancien algorithme de base
textord_old_xhauteur0Utiliser l'ancien algorithme xheight
textord_fix_xheight_bug1Utiliser la ligne de base spline
textord_fix_makerow_bug1Éviter les lignes de base multiples
textord_debug_xheights0Test des algorithmes xheight
textord_biased_skewcalc1Estimation biaisée en fonction de la longueur de la ligne
interpolation de textord_skew1Interpoler les écarts
textord_new_initial_xheight1Utiliser le mécanisme de test xheight
textord_debug_blob0Informations sur le blob de test d'impression
textord_vraiment_vieux_xhauteur0Utiliser la hauteur x originale de Wiesowl
textord_oldbl_debug0Déboguer l'ancienne génération de base
lignes de base de débogage textord0Génération de la ligne de base de débogage
textord_oldbl_paradef1Utiliser le mécanisme par défaut
textord_oldbl_splines de séparation1Splines étagées divisées
textord_oldbl_merge_parts1Fusionner les partitions suspectes
vieux_corrfix1Améliorer la corrélation des tailles
oldbl_xhfix0Correction d'un bug dans les modes de seuil pour xheights
mode textord_ocropus0Établir des lignes de base pour ocropus
textord_tabfind_only_strokewidths0Exécutez uniquement les largeurs de traits
textord_tabfind_show_initialtabs0Afficher les candidats de l'onglet
textord_tabfind_show_finaltabs0Afficher les vecteurs des onglets
textord_afficher_tables0Afficher les régions du tableau
textord_tablefind_show_mark0Tableau de débogage indiquant les étapes en détail
textord_tablefind_show_stats0Afficher les statistiques de la page utilisées pour la recherche dans le tableau
textord_tablefind_recognize_tables0Active le module de reconnaissance de tableaux pour la mise en page et le filtrage des tableaux.
textord_all_prop0Tout le document est du texte proportionnel
textord_debug_pitch_test0Débogage sur test de hauteur fixe
textord_désactiver_test_de_hauteur0Désactiver l'algorithme de hauteur fixe DP
test de balle rapide textord0Algorithme de pitch encore plus rapide
textord_debug_pitch_metric0Rédigez des textes entièrement métriques.
textord_show_row_cuts0Découper les rangs
textord_show_page_cuts0Tracer des coupes au niveau de la page
triche textord_pitch0Utilisez la réponse correcte pour fixe/propre
textord_blockndoc_fixed0Tentative de correction de hauteur fixe pour l'ensemble du document/bloc
textord_afficher_mots_initiales0Afficher les mots séparément
textord_afficher_nouveaux_mots0Afficher les mots séparément
textord_show_fixed_words0Afficher les mots à hauteur fixe forcée
textord_blocksall_fixed0Se plaindre des blocs de support
textord_blocksall_prop0Se plaindre des blocs à pas fixe
textord_blocksall_testing0Déchargez vos statistiques quand vous vous plaignez
mode de test textord0Effectuer le test actuel
textord_pitch_scalebigwords0Échelle des scores sur les grands mots
textord_restaurer_soulignements1Supprimez les soulignements et remettez-les en place.
textord_fp_chopping1Effectuez un hachage à pas fixe
textord_force_make_prop_words0Forcer la segmentation des mots proportionnelle sur toutes les lignes
test de hachoir textord0Le hachoir est en cours de test.
wordrec_display_all_blobs0Afficher les blobs
wordrec_blob_pause0rupture de blob
liste de fichiers de flux0Afficher une liste de fichiers depuis l'entrée standard
fichier de débogage Fichier vers lequel envoyer la sortie de tprintf
classifier_font_namePolice inconnueNom de la police par défaut à utiliser dans la formation
titre_du_document Titre du document de sortie (utilisé pour la sortie hOCR et PDF)
produit pointautoFonction utilisée pour le calcul du produit scalaire
classify_cp_angle_pad_lâche45Patin d'angle pour sécateur Class Short
classify_cp_angle_pad_medium20Bloc de coupe angulaire Class Scuter Medium
classify_cp_angle_pad_tight10Patin d'angle de sécateur Class serré
classify_cp_end_pad_lâche0.5Patin d'extrémité de sécateur de classe lâche
classify_cp_end_pad_medium0.5Tampon d'extrémité de sécateur de classe moyenne
classify_cp_end_pad_tight0.5Patin d'extrémité de sécateur de classe serré
classify_cp_side_pad_lâche2.5Patin latéral de sécateur de classe lâche
classify_cp_side_pad_medium1.2Patin latéral Class Scuter Medium
classify_cp_side_pad_tight0.6Patin latéral serré du sécateur de classe
classify_pp_angle_pad45Patin d'angle pour Proto Pruner
classify_pp_end_pad0.5Patin d'extrémité Proto Prune
classify_pp_side_pad2.5Patin latéral de l'ébrancheur Proto
classify_min_slope0.414214Pente en dessous de laquelle les lignes sont dites horizontales
classify_max_slope2.41421Pente au-delà de laquelle les lignes sont dites verticales
classifier_norme_adj_milieu32Ajustement normal du point médian...
classify_norm_adj_curl2Normal ajuster la boucle ...
longueur_caractéristique_pico0.05Longueur de la caractéristique Pico
seuil de soulignement de texte0.5Fraction de la largeur occupée
bords_enfant0.5Fraction minimale de la surface du contour de l'enfant
bords_zone_boîte0.875Fraction minimale de la surface du petit-enfant pour la boîte
textord_fp_chop_snap0.5Distance maximale du point de coupe par rapport au sommet
gapmap_big_gaps1.75multiplicateur xht
textord_spline_décalage_fraction0.02Fraction de l'interligne pour un quadrilatère
textord_spline_outlier_fraction0.1Fraction de l'espacement des lignes pour la valeur aberrante
textord_skew_ile0.5Ile de dégradés pour l'inclinaison de la page
textord_skew_lag0.02Décalage pour l'asymétrie sur l'accumulation des lignes
textord_linespace_iqrlimit0.2Écart interquartile maximal/médiane pour l'espacement des lignes
limite de largeur du texte8Largeur maximale des blobs pour former des lignes
largeur_de_coupage_textord1.5Largeur maximale avant découpe
facteur d'expansion textord1Facteur d'expansion des lignes dans expand_rows
textord_overlap_x0.375Fraction d'espace interligne pour un bon chevauchement
textord_minxh0.25fraction de la taille de la ligne pour la hauteur x minimale
taille de ligne minimale du texte1.25* Hauteur du blob pour la taille de ligne initiale
taille_excédentaire_de_blob1.3Nouvelle ligne créée si la tache crée une ligne de cette taille.
seuil d'occupation textord0.4Fraction du quartier
largeur_soulignement_textord2Multiple de la taille de ligne pour le soulignement
textord_min_blob_height_fraction0.75Hauteur minimale du blob/sommet pour inclure le sommet du blob dans les statistiques xheight
textord_xheight_mode_fraction0.4Hauteur minimale de pile pour obtenir xhauteur
textord_ascheight_mode_fraction0.08Hauteur minimale de pile pour créer une hauteur
textord_descheight_mode_fraction0.08Hauteur minimale de pile pour effectuer le déchiquetage
textord_ascx_ratio_min1.25Hauteur minimale
textord_ascx_ratio_max1.8Capacité maximale/hauteur x
textord_descx_ratio_min0.25Desc/hauteur minimale
textord_descx_ratio_max0.6Hauteur maximale desc/x
marge d'erreur textord_xheight0.1Variante acceptée
vieuxbl_xhfract0.4Fraction de l'est autorisée dans le calcul
taille d'erreur oldbl_dot1.26Rapport d'aspect maximal d'un point
textord_oldbl_jumplimit0.15Fraction X pour la nouvelle partition
bord joint pitsync0.75Dist à l'intérieur d'une grosse masse pour la découpe
fraction de coupe libre de décalage de synchronisation de fosse0.25Fraction de la coupe pour les coupes gratuites
textord_tabvector_vertical_gap_fraction0.5Fraction maximale de la largeur moyenne des blobs autorisée pour les espaces verticaux dans le texte vertical
textord_tabvector_vertical_box_ratio0.5Fraction d'allumettes nécessaires pour déclarer une ligne verticale
échelle_projection_textord0.2Taux de ding pour les morceaux de milieu de gamme
facteur d'équilibre textord1Taux de ding pour les cellules de charbon déséquilibrées
facteur de lissage textord_wordstats0.05Statistiques de lissage des écarts
facteur de lissage de la largeur du textord0.1Statistiques de largeur de lissage
largeur_mots_textord_ile0.4Ile des largeurs de blob pour l'espace est
textord_mots_maxspace4Multiple de xhauteur
textord_words_default_maxspace3.5Un troisième espace crédible au maximum
textord_words_default_minspace0.6Fraction de la hauteur x
textord_mots_min_minspace0.3Fraction de la hauteur x
textord_words_default_nonspace0.2Fraction de la hauteur x
textord_mots_initiale_minuscule0.25Taille maximale initiale du cluster
textord_mots_initiale_majuscule0.15Espacement initial minimal des clusters
textord_words_minlarge0.75Fraction d'écarts valides nécessaires
seuil de hauteur des mots textord0.04Seuil de synchronisation de la hauteur
textord_words_def_fixed0.016Seuil pour une valeur fixe définie
textord_words_def_prop0.09Seuil pour une propriété définitive
textord_pitch_rowsimilarité0.08Fraction de xhauteur pour l'égalité
mots_initiale_minuscule0.5Taille maximale initiale du cluster
mots_initiale_majuscule0.15Espacement initial minimal des clusters
mots_propriété_par_défaut_espace0.25Fraction de la hauteur x
mots_espace_fixe_par_défaut0.75Fraction de la hauteur x
limite_fixe_par_défaut_de_mots0.6Tolérance de taille autorisée
textord_words_definite_spread0.3Région d'espacement non floue
textord_spacesize_ratiofp2.8Rapport minimal espace/non-espace
textord_spacesize_ratioprop2Rapport minimal espace/non-espace
rapport textord_fpiqr1.5Seuil IQR de pitch/IQR d'écart
textord_max_pitch_iqr0.2Bruit de fraction Xh dans la hauteur
textord_fp_largeur_min0.5Largeur minimale des blobs décents
textord_décalage_soulignement0.1Fraction de x à ignorer
niveau_debug_ambigs0Niveau de débogage pour les ambiguïtés unichar
classifier_debug_level0Niveau de débogage classifié
méthode de normalisation de la classification1Méthode de normalisation…
niveau_de_débogage_matcher0Niveau de débogage du matcher
matcher_debug_flags0Indicateurs de débogage du matcher
classify_learning_debug_level0Niveau de débogage d'apprentissage :
matcher_permanent_classes_min1Nombre minimum de classes permanentes
matcher_min_examples_for_prototyping3Seuil de configuration fiable
matcher_suffisant_exemples_pour_prototypage5Autoriser l'adaptation même si les ambiguïtés n'ont pas été constatées
classify_adapt_proto_threshold230Seuil pour les bons protos pendant l'adaptation 0-255
seuil d'adaptation des caractéristiques de classification230Seuil pour de bonnes caractéristiques lors de l'adaptation 0-255
seuil de classification_classe_élagage229Seuil de taille de classe 0-255
multiplicateur de classify_class_pruner15Multiplicateur de classe Pruner 0-255 :
classifier_cp_seuil_force7Force de coupure du sécateur de classe :
multiplicateur de correspondance d'entiers de classification10Multiplicateur de correspondance d'entiers 0-255 :
niveau_debug_dawg0Réglez sur 1 pour les informations de débogage générales, sur 2 pour plus de détails, sur 3 pour afficher tous les messages de débogage.
niveau de débogage du tiret0Niveau de débogage pour les mots composés.
taille_petit_mot_stopper2La taille du mot du dictionnaire doit être traitée comme un mot hors dictionnaire.
niveau_de_débogage_stopper0Niveau de débogage Stopper
tessedit_truncate_wordchoice_log10Nombre maximal de mots à conserver dans la liste
max_permuter_attempts10000Nombre maximal de caractères différents à considérer lors de la permutation. Cette limite est particulièrement utile lorsque des modèles utilisateur sont spécifiés, car des modèles trop génériques peuvent amener la recherche Dawg à explorer un nombre excessif d'options.
réparer_blobs_non_coupés1Corrigez les zones non découpées.
chop_debug0Débogage Chop
longueur_de_séparation_couper10000Longueur divisée
même_distance2Même distance
points de contour min_couper6Nombre minimal de points sur le plan
taille_de_pile_de_couture_coupée150Nombre maximal de coutures dans seam_pile
couper_à_l'intérieur_angle-50Angle intérieur minimal
zone de contour min_couper2000Zone de contour minimale
largeur_max_centrée_couper90Largeur des (plus petites) boules hachées au-dessus desquelles on ne se soucie pas qu'une boulette ne soit pas près du centre.
poids_x_y3Poids de longueur X / Y
niveau de débogage wordrec0Niveau de débogage pour wordrec
wordrec_max_join_chunks4Nombre maximal de pièces cassées à associer
niveau de débogage de la recherche segmentée0Niveau de débogage SegSearch
segsearch_max_pain_points2000Nombre maximal de points de douleur stockés dans la file d'attente
segsearch_max_futile_classifications20Nombre maximal de classifications de points sensibles par segment qui n'ont pas permis de trouver un meilleur choix de mots.
niveau_de_débogage_du_modèle_de_langue0niveau de débogage du modèle de langage
ordre_ngram_du_modèle_de_langue8Ordre maximal du modèle n-gramme de caractères
modèle_de_langue_liste_viterbi_nombre_maximum_élaguable10Nombre maximal d'entrées élaguables (celles pour lesquelles PrunablePath() est vrai) dans chaque liste Viterbi enregistrée dans BLOB_CHOICEs
taille maximale de la liste Viterbi du modèle de langage500Taille maximale des listes Viterbi enregistrées dans BLOB_CHOICEs
longueur minimale du modèle de langage3Longueur minimale des mots composés
wordrec_display_segmentations0Segmentation de l'affichage
tessedit_pageseg_mode6Mode de segmentation de page : 0=osd uniquement, 1=auto+osd, 2=auto_uniquement, 3=auto, 4=colonne, 5=bloc_vert, 6=bloc, 7=ligne, 8=mot, 9=cercle_mot, 10=caractère, 11=texte_épais, 12=texte_épais+osd, 13=ligne_brute (Valeurs de l'énumération PageSegMode dans tesseract/publictypes.h)
mode moteur otesedit_ocr2Quel(s) moteur(s) OCR utiliser (Tesseract, LSTM, les deux) ? Par défaut, le moteur le plus précis disponible est chargé et exécuté.
pageseg_devanagari_split_strategy0Faut-il utiliser le processus de fractionnement de la première ligne pour les documents en devanagari lors de la segmentation des pages ?
ocr_devanagari_split_strategy0Faut-il utiliser le processus de séparation de la première ligne pour les documents en devanagari lors de l'exécution de la reconnaissance optique de caractères (OCR) ?
bidi_debug0Niveau de débogage pour BiDi
appliquer_débogage1Niveau de débogage
page de la boîte d'application0Numéro de page pour appliquer les cases à partir de
tessedit_bigram_debug0Quantité de données de débogage pour la correction des bigrammes.
suppression_du_bruit_de_débogage0Réaffectation de débogage des petits contours
bruit_maxparblob8Nombre maximal de signes diacritiques à appliquer à une tache
bruit_max par mot16Nombre maximal de signes diacritiques à appliquer à un mot
niveau de débogage x_ht0Débogage réestimé
qualité_min_initial_alphas_requis2alphas dans un bon mot
mode d'adaptation tessedit_tess39Algorithme de décision d'adaptation pour tess
niveau_de_débogage_multilingue0Afficher les informations de débogage multilingues.
niveau_de_débogage_paragraphe0Afficher les informations de débogage du paragraphe.
tessedit_preserve_min_wd_len2Ne conservez que les mots plus longs que ceci
crunch_rating_max10Pour la longueur ajustée en notation par ch
indicateurs_de_croûte1Combien d'indicateurs potentiels sont nécessaires ?
crunch_leave_lc_strings4N'utilisez pas de raccourcis clavier pour les mots contenant de longues suites de lettres minuscules.
crunch_leave_uc_strings4N'utilisez pas de raccourcis clavier pour les mots contenant de longues suites de lettres minuscules.
crunch_long_repetitions3Mots à mémoriser avec de longues répétitions
crunch_debug0Comme on dit
fixsp_non_noise_limit1Combien de bulles non bruyantes de chaque côté ?
fixsp_done_mode1Qu'est-ce qui constitue l'espacement ?
niveau_de_correction_d_espace_de_débogage0Débogage de l'espace de correction contextuel
x_ht_acceptance_tolérance8Écart maximal autorisé du haut du blob en dehors des données de police
x_ht_min_change8Changement minimal de xht avant de l'essayer réellement
superscript_debug0Niveau de débogage pour le correcteur de sous- et d'exposant
qualité_jpg85Définir le niveau de qualité JPEG
dpi défini par l'utilisateur0Spécifiez la résolution (DPI) de l'image d'entrée.
nombre_min_de_caractères_à_essayer50Spécifiez le nombre minimal de caractères à essayer lors de l'affichage du système d'exploitation (OSD).
niveau_suspect99Niveau du marqueur suspect
suspect_short_words2Ne soupçonnez pas de mots de dictionnaire plus longs que cela
mode de rejet de tessedit0Algorithme de rejet
tessedit_image_border2Rejet de blbs près de la limite du bord de l'image
min_sane_x_ht_pixels8Rejetez tout x-ht lt ou eq supérieur à ceci
numéro_de_page_tessedit-1-1 -> Toutes les pages, sinon une page spécifique à traiter
tessedit_paralléliser1Exécuter en parallèle lorsque c'est possible
lstm_choice_mode2Permet d'inclure des symboles alternatifs dans la sortie hOCR. Les valeurs d'entrée valides sont 0, 1 et 2. La valeur par défaut est 0. Avec 1, les symboles alternatifs sont inclus pour chaque pas de temps. Avec 2, les symboles alternatifs sont extraits du processus CTC plutôt que du réseau. Les choix sont associés à chaque caractère.
itérations de choix lstm5Définit le nombre d'itérations en cascade pour la recherche par faisceau dans le mode de choix de lstm. Notez que la valeur de l'option `lstm_choice_mode` doit être supérieure à 0 pour produire des résultats.
niveau_debug_tosp0Données de débogage
tosp_espace_suffisant_échantillons_pour_la_médiane3ou devrions-nous utiliser le terme moyen ?
tosp_redo_kern_limit10Nombre d'échantillons requis pour réestimer la ligne
tosp_peu_d'échantillons40Aucun espace requis, avec 1 grand espace pour être considéré comme une table.
tosp_short_row20Aucun écart requis avec peu d'espaces de certificats pour utiliser les certificats
méthode tosp_sanity1Comment éviter de faire des bêtises
taille_maximale_bruit_textord7Taille des pixels du bruit
textord_ligne_de_base_debug0niveau de débogage de base
textord_noise_sizefraction10Fraction de la taille pour les maxima
textord_noise_translimit16Transitions pour un blob normal
textord_noise_sncount1super norm blobs pour sauver la ligne
utiliser_ambiguïtés_pour_l'adaptation0Utilisez les ambiguïtés pour décider s'il faut s'adapter à un personnage.
autoriser_la_division_blob1Utiliser des blobs divisibles pour découper
prioriser_division0Privilégier la division des blocs plutôt que le hachage
classifier_activer_apprentissage1Activer le classificateur adaptatif
tess_cn_matching0Correspondance normalisée des caractères
tess_bn_matching0Appariement normalisé de base
classifier_activer_correspondance_adaptative1Activer le classificateur adaptatif
classifier_utiliser_modèles_pré_adaptés0Utiliser des modèles de classificateurs pré-adaptés
classifier_sauvegarder_modèles_adaptés0Enregistrez les modèles adaptés dans un fichier
classifier_activer_débogueur_adaptatif0Activer le débogueur de correspondance
classify_nonlinear_norm0Normalisation non linéaire de la densité des traits
désactiver_fragments_de_personnages1N'incluez pas les fragments de caractères dans les résultats du classificateur.
classifier_déboguer_fragments_de_personnages0Afficher des fenêtres de débogage graphique pour l'entraînement aux fragments
matcher_debug_fenêtres séparées0Utilisez deux fenêtres différentes pour le débogage de la correspondance : une pour les prototypes et une pour les fonctionnalités.
classify_bln_numeric_mode0Supposons que l'entrée soit constituée de nombres [0-9].
charger_system_dawg1Charger le mot système dawg.
charge_freq_chien1Charger le mot fréquent " chien ".
charger_unambig_dawg1Charger le mot non ambigu " chien ".
charger_punc_dawg1Charger le chien avec des modèles de ponctuation.
charger_numéro_chien1Charger le chien avec des motifs numériques.
charger_bigram_dawg1Charger le chien avec des bigrammes de mots spéciaux.
utiliser_uniquement_la_première_étape_uft80Utilisez uniquement la première partie UTF-8 de la chaîne donnée pour calculer les logarithmes des probabilités.
stopper_pas_de_choix_acceptables0Faites en sorte que AcceptableChoice() renvoie toujours false. Utile lorsqu'il est nécessaire d'explorer toutes les segmentations.
segment_nonalphabétique_script0N'utilisez aucune astuce spécifique à l'alphabet. Définissez la valeur sur " true " dans le fichier de configuration traineddata pour les écritures cursives ou à hauteur fixe.
enregistrer_doc_words0Enregistrer le document Word
fusionner_fragments_dans_la_matrice1Fusionnez les fragments dans la matrice de notation et supprimez-les après la fusion.
wordrec_enable_assoc1Activation de l'associateur
force_word_assoc0Forcer l'exécution de l'associateur quelle que soit la valeur de enable_assoc. Ceci est utilisé pour les langues CJK lorsque le regroupement des composants est nécessaire.
activer_couper1Chop activer
chop_vertical_creep0fluage vertical
couper_nouvelle_couture_pile1Utiliser la nouvelle couture_pile
supposer_fixed_pitch_char_segment0inclure des heuristiques à pas fixe dans la segmentation des caractères
wordrec_skip_no_truth_words0N'effectuez la reconnaissance optique de caractères (OCR) que pour les mots dont la véracité a été enregistrée dans BlamerBundle.
wordrec_debug_blamer0Afficher les messages de débogage du blâmeur
wordrec_run_blamer0Essayez d'attribuer les erreurs à leurs responsables
save_alt_choices1Enregistrer les chemins alternatifs trouvés lors de la recherche par découpage et segmentation
modèle_de_langage_ngram_on0Activer/désactiver l'utilisation du modèle n-gramme de caractères
language_model_ngram_utiliser_uniquement_la_première_étape_uft80Utilisez uniquement la première partie UTF-8 de la chaîne donnée pour calculer les logarithmes des probabilités.
modèle_de_langue_ngramme_espace_délimité_langue1Les mots sont délimités par des espaces.
l'utilisation du modèle de langage et la certitude sigmoïdale0Utilisez le score sigmoïde pour plus de certitude.
tessedit_resegment_from_boxes0Extraire la segmentation et l'étiquetage du fichier de boîte
tessedit_resegment_from_line_boxes0Conversion d'un fichier de boîtes de mots/lignes en un fichier de boîtes de caractères
tessedit_train_from_boxes0Générer des données d'entraînement à partir de personnages encadrés
tessedit_make_boxes_from_boxes0Générer plus de boîtes à partir de personnages en boîte
tessedit_reconnaissance_ligne_de_train0Divisez l'entrée en lignes et remappez les cases si nécessaire.
tessedit_dump_pageseg_images0Décharger les images intermédiaires créées lors de la segmentation de la page
tessedit_do_invert1Try inverting the image in `LSTMRecognizeWord`
tessedit_ambigs_training0Mettre en place une formation pour gérer les ambiguïtés
tessedit_adaptation_debug0Générer et imprimer les informations de débogage pour l'adaptation
applybox_learn_chars_and_char_frags_mode0Apprenez à la fois les fragments de caractères (comme c'est le cas dans le mode spécial de faible exposition) ainsi que les caractères non fragmentés.
applybox_learn_ngrams_mode0Chaque boîte englobante est supposée contenir des n-grammes. Seuls les n-grammes dont les contours se chevauchent horizontalement sont pris en compte.
tessedit_display_outwords0Dessiner les mots de sortie
tessedit_dump_choices0Choix de char de vidage
tessedit_timing_debug0Statistiques de chronométrage d'impression
tessedit_fix_flozzy_spaces1Essayez d'améliorer les espaces flous
tessedit_unrej_any_wd0Ne vous souciez pas de la plausibilité des mots.
tessedit_fix_hyphens1Croquer les doubles traits d'union ?
tessedit_enable_doc_dict1Ajouter des mots au dictionnaire du document
polices de débogage tessedit0Afficher les informations de police par caractère
rejet du bloc de débogage tessedit0Statistiques des blocs et des rangées
tessedit_activer_la_correction_des_bigrammes1Activer la correction basée sur le dictionnaire de bigrammes de mots.
tessedit_enable_dict_correction0Activer la correction de mots isolés basée sur le dictionnaire.
activer_la_suppression_du_bruit1Supprimer et réaffecter conditionnellement les petits contours lorsqu'ils perturbent l'analyse de la mise en page, en distinguant les signes diacritiques du bruit.
tessedit_minimal_rej_pass10Effectuer un rejet minimal sur la sortie du passage 1
adaptation_test_tessedit0Critères d'adaptation des tests
test_pt0Test de point
basé sur le texte du paragraphe1Exécuter la détection de paragraphes après la reconnaissance de texte (plus précise)
lstm_use_matrix1Utiliser la matrice de notation/la recherche par faisceau avec LSTM
tessedit_bonne_qualité_non_rej1Réduire le rejet des bons dossiers médicaux
tessedit_use_reject_spaces1Rejeter les espaces ?
tessedit_preserve_blk_rej_perfect_wds1Seuls les mots partiellement rejetés dans le rejet par bloc sont rej
tessedit_preserve_row_rej_perfect_wds1Seuls les mots partiellement rejetés dans la ligne de rejet
tessedit_dont_blkrej_good_wds0Utiliser une métrique de qualité de segmentation des mots
tessedit_dont_rowrej_good_wds0Utiliser une métrique de qualité de segmentation des mots
tessedit_row_rej_good_docs1Appliquer le rejet de lignes aux bons documents
tessedit_reject_bad_qual_wds1Rejetez tous les mots de mauvaise qualité
tessedit_debug_doc_rejection0Statistiques de la page
tessedit_debug_quality_metrics0Données de sortie dans le fichier de débogage
bland_unrej0potentiel non rejeté sans vérifications
unlv_tilde_crunching0Mark v. : mots grossiers pour le tilde crunch
info_police_hogr0Ajouter les informations de police à la sortie HOCR
hocr_char_boxes0Ajouter les coordonnées de chaque caractère à la sortie hocr
crunch_early_merge_tess_fails1Avant le casse-tête des mots ?
crunch_early_convert_bad_unlv_chs0Retirer ~^ tôt ?
crunch_terrible_garbage1Comme on dit
crunch_leave_ok_strings1Ne touchez pas aux cordes sensibles.
crunch_accept_ok1Utiliser l'acceptabilité dans okstring
crunch_leave_accept_strings0Ne pas écraser les cordes sensibles
crunch_include_numerals0Figures alpha du violon
tessedit_préférer_ponctuation_jointe0Récompenser la ponctuation jointe
séparateurs de blocs d'écriture tessedit0Écrire les séparateurs de blocs dans la sortie
tessedit_write_rep_codes0Écrire le code de caractère de répétition
tessedit_write_unlv0Écrire le fichier de sortie .unlv
tessedit_create_txt0Écrire le fichier de sortie .txt
tessedit_create_hocr0Écrire le fichier de sortie hOCR au format .html
tessedit_create_alto0Écrire un fichier ALTO .xml
tessedit_create_lstmbox0Écrire un fichier .box pour l'entraînement LSTM
tessedit_create_tsv0Écrire le fichier de sortie .tsv
tessedit_create_wordstrbox0Écrire un fichier de sortie au format WordStr (.box)
tessedit_create_pdf0Écrire un fichier de sortie .pdf
texte uniquement_pdf0Créer un PDF avec une seule couche de texte invisible
suspect_constrain_1Il0UNLV conserve 1Il caractères rejetés
tessedit_rejet_minimal0Rejeter uniquement les échecs TESS
tessedit_zéro_rejet0Ne rejetez RIEN
tessedit_mot_à_mot0Faites en sorte que la sortie contienne exactement un mot par WERD
tessedit_zero_kelvin_rejection0Ne rejetez absolument rien
tessedit_rejection_debug0Débogage d'adaptation
tessedit_flip_0O1Retournements contextuels 0O O0
rej_trust_doc_dawg0Utiliser DOC dawg dans le détecteur de configuration 11l
rej_1Il_utilise_dict_word0Utiliser le test de dictword
rej_1Il_trust_permuter_type1Ne vérifiez pas deux fois.
rej_use_tess_accepté1Contrôle individuel du rejet
rej_use_tess_blanks1Contrôle individuel du rejet
rej_use_good_perm1Contrôle individuel du rejet
rej_use_sensible_wd0Extend permuter check
rej_alphas_in_number_perm0Extend permuter check
tessedit_create_boxfile0Afficher du texte avec des cases
tessedit_write_images0Capturez l'image depuis l'IPE
mode d'affichage interactif0Exécuter de manière interactive ?
tessedit_override_permuter1Selon dict_word
tessedit_use_primary_params_model0En mode multilingue, utilisez le modèle de paramètres de la langue principale.
textord_tabfind_show_vlines0Recherche de ligne de débogage
textord_use_cjk_fp_model0Utiliser le modèle à pas fixe CJK
poly_autoriser_detailed_fx0Autoriser les extracteurs de caractéristiques à voir le contour d'origine
tessedit_init_config_only0Initialisez uniquement avec le fichier de configuration. Utile si l'instance n'est pas destinée à la reconnaissance optique de caractères (OCR), mais par exemple à l'analyse de mise en page.
textord_equation_detect0Activer le détecteur d'équations
textord_tabfind_vertical_text1Activer la détection verticale
textord_tabfind_force_vertical_text0Forcer l'utilisation du mode de page de texte vertical
préserver_les_espaces_intermots0Conserver plusieurs espaces entre les mots
pageseg_appliquer_masque_musical1Détecter la portée musicale et supprimer les éléments qui s'entrecroisent
mode de hauteur unique de textord0Le script n'a pas de hauteur x, utilisez donc un mode unique
tosp_old_to_method0Les statistiques spatiales utilisent-elles le prédécoupage ?
tosp_old_to_constrain_sp_kn0Contraindre les valeurs relatives des écarts inter- et intra-mots pour old_to_method.
tosp_only_use_prop_rows1Statistiques de bloc pour utiliser des rangées à pas fixe ?
tosp_force_wordbreak_on_punct0Forcer les sauts de ligne sur la ponctuation pour couper les lignes longues dans les langues non délimitées par des espaces
tosp_utiliser_avant_couper0Les statistiques spatiales utilisent-elles le prédécoupage ?
tosp_old_to_bug_fix0Correction d'un bug suspecté dans l'ancien code
tosp_block_use_cert_spaces1Seuls les espaces STAT ÉVIDENTS
tosp_row_use_cert_spaces1Seuls les espaces STAT ÉVIDENTS
tosp_narrow_blobs_not_cert1Seuls les espaces STAT ÉVIDENTS
tosp_row_use_cert_spaces11Seuls les espaces STAT ÉVIDENTS
tosp_recovery_isolated_row_stats1Utilisez la ligne seule lorsque l'espacement des certificats est insuffisant.
tosp_only_small_gaps_for_kern0Mieux vaut deviner
tosp_all_flips_fuzzy0Transmettre N'IMPORTE QUEL retournement au contexte ?
tosp_fuzzy_limit_all1Ne limitez pas la limite floue kn->sp aux tables.
tosp_stats_use_xht_gaps1Utiliser dans l'espace xht pour les pauses wd
tosp_use_xht_gaps1Utiliser dans l'espace xht pour les pauses wd
tosp_only_use_xht_gaps0Utiliser uniquement dans l'intervalle xht pour les pauses WD
point de test de la règle 9 de tosp0Ne changez pas l'espace à côté du point.
tosp_flip_fuzz_kn_to_sp1Retournement par défaut
tosp_flip_fuzz_sp_to_kn1Retournement par défaut
tosp_améliorer_seuil0Activer l'heuristique d'amélioration
textord_pas_de_rejets0Ne supprimez pas les taches de bruit.
textord_show_blobs0Afficher les blobs non triés
textord_show_boxes0Afficher les blobs non triés
textord_noise_rejwords1Rejetez les mots qui ressemblent à du bruit
textord_noise_rejrows1Rejeter les lignes qui ressemblent à du bruit
textord_noise_debug0Débogage du détecteur de déchets de ligne
classify_learn_debug_strClasse str pour déboguer l'apprentissage
fichier_mots_utilisateurNom de fichier contenant les mots fournis par l'utilisateur.
suffixe_mots_utilisateurUn suffixe de mots fournis par l'utilisateur et stocké dans tessdata.
fichier de modèles d'utilisateurNom de fichier des modèles fournis par l'utilisateur.
suffixe des modèles d'utilisateurUn suffixe de modèles fournis par l'utilisateur et situés dans tessdata.
fichier de sortie des mots ambigusFichier de sortie pour les ambiguïtés trouvées dans le dictionnaire
mot_à_déboguerMot pour lequel les informations de débogage du stopper doivent être affichées sur la sortie standard
tessedit_char_blacklistListe noire des caractères à ne pas reconnaître
liste blanche de caractères tesseditListe blanche des caractères à reconnaître
tessedit_char_unblacklistListe des caractères à ignorer dans tessedit_char_blacklist
tessedit_write_params_to_fileÉcrivez tous les paramètres dans le fichier indiqué.
appliquer_modèle_d'exposition_boîte.expLa valeur d'exposition suit ce modèle dans le nom du fichier image. Le nom des fichiers image doit être au format [lang].[fontname].exp [num].tif
chs_leading_punct('`"Ponctuation initiale
chs_trailing_punct1).,;:?!1er signe de ponctuation finale
chs_trailing_punct2)'`"2e ponctuation finale
contours_impairs%|Nombre de contours non standard
contours_2ij!?%":;Nombre de contours non standard
ponctuation numérique.,Ponctuation. chs attendus DANS les nombres
caractère_non_reconnu|Caractère de sortie pour les blobs non identifiés
ok_répété_ch_non_alphanum_wds-?*=Autoriser NN à annuler le rejet
ensemble_de_conflit_I_l_1Il1 []Ensemble de conflits Il1
type_de_fichier.tifextension du nom de fichier
tessedit_load_sublangsListe des langues à charger avec celle-ci
séparateur de pageSéparateur de page (par défaut : caractère de saut de page)
classify_char_norm_range0.2Plage de normalisation des caractères…
classify_max_ratio1.5Rapport de veto entre les évaluations des classificateurs
classify_max_certainty_margin5.5différence de veto entre les certitudes des classificateurs
seuil de correspondance_bon0.125Bon match (0-1)
résultat_adaptatif_fiable_matcher0Super match (0-1)
seuil de correspondance parfait0.02Match parfait (0-1)
matcher_bad_match_pad0.15Mauvaise correspondance Pad (0-1)
marge de notation du matcher0.1Nouvelle marge du modèle (0-1)
taille_moyenne_bruit_matcher12Longueur moyenne des taches de bruit
matcher_clustering_max_angle_delta0.015delta angulaire maximal pour le regroupement de prototypes
pénalisation_indésirable_déchet0Une pénalité sera appliquée lorsqu'un élément non numérique est positionné verticalement hors de sa ligne de texte attendue.
échelle d'évaluation1.5Facteur d'échelle de notation
échelle de certitude20Facteur d'échelle de certitude
tessedit_class_miss_scale0.00390625Facteur d'échelle pour les fonctionnalités non utilisées
facteur d'élagage adapté à la classification2.5Éliminer les résultats mal adaptés est bien pire que le meilleur résultat
seuil d'élagage adapté à la classification-1Seuil à partir duquel facteur d'élagage adapté à la classification commence
classify_character_fragments_ garbage_certainty_threshold-3Exclure de l'entraînement et de l'adaptation les fragments qui ne ressemblent pas à des personnages entiers.
speckle_large_max_size0.3Taille maximale des grandes taches
pénalité de notation de speckle10Pénalité ajoutée à la pire note pour le bruit
xheight_penalty_subscripts0.125Une pénalité de score (0,1 = 10 %) est ajoutée s'il y a des indices ou des exposants dans un mot, mais sinon c'est OK.
xheight_penalty_incohérent0.25Une pénalité de score (0,1 = 10%) est ajoutée si la hauteur x est incohérente.
segment_penalty_dict_frequent_word1Multiplicateur de score pour les correspondances de mots qui ont une bonne casse et sont fréquentes dans la langue donnée (plus bas est mieux).
segment_penalty_dict_case_ok1.1Multiplicateur de score pour les correspondances de mots respectant la casse (plus bas est mieux).
segment_penalty_dict_case_bad1.3125Multiplicateur de score par défaut pour les correspondances de mots, pouvant présenter des problèmes de casse (plus bas est mieux).
segment_penalty_dict_nonword1.25Multiplicateur de score pour les segmentations de fragments de glyphes qui ne correspondent pas à un mot du dictionnaire (plus bas est mieux).
segment_penalty_garbage1.5Multiplicateur de score pour les chaînes de caractères mal formatées qui ne figurent pas dans le dictionnaire et qui ressemblent généralement à des charabias (plus bas est mieux).
échelle de certitude20Facteur d'échelle de certitude
base de certitude stopper_nondict-2.5Seuil de certitude pour les mots non-dictés
décalage de rejet de certitude de la phase 2 du stopper1Rejeter la compensation de certitude
stopper_certainty_par_char-0.5Il faut ajouter une certitude pour chaque caractère du dictionnaire au-dessus de la taille d'un petit mot.
stopper_allowable_character_badness3Variation maximale autorisée dans un mot (en sigma)
doc_dict_pending_threshold0Pire certitude pour l'utilisation du dictionnaire en attente
doc_dict_certainty_threshold-2.25Pire certitude pour les mots pouvant être insérés dans le dictionnaire du document
seuil de certitude de tessedit-2.25Bonne limite de blobs
bouton de division de hachage0.5Réglage de la longueur fractionnée
bouton de chevauchement de hachage0.9ajustement du chevauchement fractionné
bouton_centre_de_couper0.15Réglage du centre divisé
bouton de coupe0.06Réglage de la netteté fractionnée
bouton de réglage de la largeur de coupe5Réglage de la largeur
chop_ok_split100Limite de fractionnement OK
couper_bon_split50Bonne limite de fractionnement
segsearch_max_char_wh_ratio2Rapport largeur/hauteur maximal des caractères

Questions Fréquemment Posées

Comment puis-je convertir des images en texte à l'aide de l'OCR en C# ?

Vous pouvez convertir des images en texte en C# en utilisant IronTesseract de la bibliothèque IronOCR. Tout d'abord, installez la bibliothèque via NuGet, créez une instance d'IronTesseract et utilisez la méthode Read pour traiter vos images et extraire du texte.

Comment configurer les paramètres de langue pour l'OCR en C# ?

Dans IronTesseract, vous pouvez définir la langue pour le traitement OCR en configurant la propriété Language. Cela vous permet de spécifier la langue dans laquelle le texte sur l'image est écrit, améliorant ainsi la précision.

IronTesseract peut-il gérer à la fois l'extraction de texte et la lecture de codes-barres ?

Oui, IronTesseract peut gérer à la fois l'extraction de texte et la lecture de codes-barres. Vous pouvez activer la lecture des codes-barres en définissant la propriété Configuration.ReadBarcodes sur true, permettant ainsi au moteur OCR de lire les codes-barres des images scannées.

À quoi servent les variables de configuration Tesseract en OCR C# ?

Les variables de configuration Tesseract dans IronTesseract sont utilisées pour affiner le processus OCR. Les développeurs peuvent utiliser la classe IronOcr.TesseractConfiguration pour ajuster les paramètres tels que les listes blanches de caractères, les listes noires et d'autres paramètres de traitement.

Comment puis-je inclure uniquement certains caractères durant le traitement OCR ?

Pour ajouter des caractères à la liste blanche lors du traitement OCR avec IronTesseract, vous pouvez définir la propriété Configuration.WhiteListCharacters pour inclure uniquement les caractères que vous souhaitez faire reconnaître, améliorant ainsi la précision de l'OCR pour des tâches spécifiques.

Comment résoudre les problèmes courants d'OCR en C# ?

Les problèmes courants d'OCR en C# utilisant IronTesseract peuvent être résolus en ajustant les variables de configuration Tesseract, en s'assurant des paramètres de langue corrects et en vérifiant la qualité des images. L'utilisation des propriétés de Configuration peut aider à affiner les résultats de l'OCR.

Où puis-je trouver la documentation pour les variables de configuration Tesseract dans IronOCR ?

La documentation pour les variables de configuration Tesseract dans IronOCR peut être trouvée dans la documentation de la classe IronOcr.TesseractConfiguration. Elle fournit une liste complète des variables, leurs valeurs par défaut et des explications sur leurs fonctions.

Comment enregistrer les résultats OCR en tant que PDF consultable en C# ?

Vous pouvez enregistrer les résultats OCR au format PDF consultable en C# avec IronTesseract en utilisant SaveAsSearchablePdf après traitement d'une image.

Quels sont les avantages d'utiliser IronTesseract pour les tâches OCR .NET ?

IronTesseract offre de nombreux avantages pour les tâches OCR .NET, notamment une API simplifiée, la prise en charge de plusieurs langues, des capacités de lecture de codes-barres et de vastes options de configuration pour adapter le processus OCR à des besoins spécifiques.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

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