Passer au contenu principal
Les exemples C# s’appliquent uniquement à FRE for Windows.
La technologie de reconnaissance intelligente des caractères (ICR) d’ABBYY FineReader Engine vous permet de reconnaître les textes manuscrits et les textes écrits en lettres moulées.
  • Toutes les langues de reconnaissance ne sont pas disponibles pour la reconnaissance des textes manuscrits ou écrits en lettres moulées. Consultez la liste des langues prédéfinies.
  • Les symboles spéciaux, tels que * ^ ™ © ® № § ¡ ¿ ‰, ne peuvent pas être reconnus.
Lors de l’analyse de la mise en page, les blocs contenant des textes manuscrits et des textes écrits en lettres moulées peuvent être détectés et marqués pour être reconnus comme du texte manuscrit. Pour détecter et reconnaître du texte manuscrit ou écrit en lettres moulées, définissez la propriété DetectHandwritten de PageAnalysisParams sur TRUE. Définissez la propriété SpeedQualityMode sur SQM_Accurate, car l’écriture manuscrite ne peut être détectée qu’en mode d’analyse précise. Les types de texte manuscrit et de texte écrit en lettres moulées sont définis par la même constante TextTypeEnum::TT_Handwritten. Les blocs de texte seront créés avec la propriété TextTypes de l’objet ITextBlock::RecognizerParams définie sur TT_Handwritten. Lors de la reconnaissance, le texte sera reconnu comme manuscrit si la langue de reconnaissance prend en charge le texte manuscrit, ou comme texte écrit en lettres moulées si elle ne prend en charge que ce type de texte.
// Objet global ABBYY FineReader Engine
FREngine.IEngine engine;
...
// Ouvrir un fichier image
...
FREngine.IFRDocument frdoc;
// Créer DocumentProcessingParams et définir les paramètres
FREngine.IDocumentProcessingParams processingParams = engine.CreateDocumentProcessingParams();
processingParams.PageProcessingParams.PageAnalysisParams.SpeedQualityMode = SQM_Accurate;
processingParams.PageProcessingParams.PageAnalysisParams.DetectHandwritten = true;
// Définir les types de texte afin de reconnaître à la fois le texte normal et l’écriture manuscrite
processingParams.PageProcessingParams.RecognizerParams.TextTypes = TT_Normal | TT_Handwritten;
// Utiliser les paramètres pour le traitement
frDoc.Process( processingParams );
...

Marquage manuel des blocs

Vous pouvez également définir manuellement les paramètres de reconnaissance des blocs contenant du texte manuscrit via la propriété ITextBlock::RecognizerParams :
  1. Définissez la propriété TextTypes de l’objet RecognizerParams sur TT_Handwritten.
  2. [Facultatif] Les lettres écrites en lettres moulées peuvent souvent être entourées d’un cadre, d’une case, etc. Dans ce cas, définissez le type de marquage autour des lettres dans la propriété FieldMarkingType de l’objet RecognizerParams. Si chaque lettre est écrite dans une cellule distincte, utilisez la propriété CellsCount pour définir le nombre de cellules de caractères du bloc reconnu.
    // Objet ABBYY FineReader Engine global
    FREngine.IEngine engine;
    ...
    // Ouvrir un fichier image
    ...
    // Obtenir l’objet Layout de la page
    FREngine.ILayout layout = frPage.Layout;
    // Définir la région du bloc
    FREngine.IRegion region = engine.CreateRegion();
    region.AddRect( 491, 314, 2268, 404 );
    // Créer un nouveau bloc
    FREngine.IBlock newBlock = layout.Blocks.AddNew( FREngine.BlockTypeEnum.BT_Text, region, 0 );
    FREngine.ITextBlock textBlock = newBlock.GetAsTextBlock();
    // Spécifier le type de texte
    textBlock.RecognizerParams.TextTypes = (int)FREngine.TextTypeEnum.TT_Handwritten;
    // Spécifier le type de marquage autour des lettres
    textBlock.RecognizerParams.FieldMarkingType = FREngine.FieldMarkingTypeEnum.FMT_SimpleText;
    // Reconnaissance et exportation
    ...
    

    Voir aussi

    RecognizerParams Liste des langues prédéfinies