Reconnaissance des marques OMR avec le VintaSoft Forms Processing .NET Plug-in

Catégorie du blog: Traitement des formulaires.NET

28.07.2025

Dans le monde actuel, où le nombre de formulaires papier et électroniques se compte par millions (questionnaires, formulaires d'examen, bulletins de vote, etc.), les exigences relatives à leur traitement rapide et précis augmentent chaque année. La reconnaissance optique de marques (OMR) est devenue un outil essentiel pour automatiser ces processus.

La reconnaissance optique de marques (OMR) est une technologie qui permet à un logiciel d'enregistrer et d'analyser la présence ou l'absence de marques spécifiques (généralement des coches, des carrés ou des cercles pleins) à des emplacements prédéterminés sur des documents papier ou électroniques. Cela permet le traitement rapide de grandes quantités de données sans saisie manuelle, minimisant les erreurs et accélérant les flux de travail.



Bref historique de l'émergence et du développement de l'OMR

La technologie de reconnaissance optique de marques a commencé à se développer dans la seconde moitié du XXe siècle, lorsque la question de l'automatisation du traitement d'un grand nombre de formulaires, de questionnaires et de feuilles d'examen similaires s'est posée. Les premiers systèmes industriels sont apparus aux États-Unis pour répondre aux besoins des établissements d'enseignement, où les tests de masse d'étudiants exigeaient un calcul rapide et fiable des résultats.

Aux premiers stades du développement de l'OMR, un équipement spécial était utilisé: des scanners dotés de grands capteurs photoélectriques qui enregistraient les zones ombrées sur le papier (bulles ou rectangles pleins). Cela a permis de réduire considérablement le temps nécessaire à la vérification des réponses par rapport à la vérification manuelle et a rendu l'analyse des données plus objective.

La technologie a ensuite évolué avec le passage au traitement numérique des images. Avec l'avènement des ordinateurs personnels et des logiciels, la lecture optique de marques (OMR) est devenue disponible quel que soit le type de scanner ou d'imprimante. Cela a ouvert la voie à une application à grande échelle dans les entreprises, l'éducation, les administrations publiques – partout où un traitement rapide et précis de documents standard en grand volume était requis.

Aujourd'hui, les solutions OMR modernes permettent d'automatiser le travail non seulement avec les formulaires papier, mais aussi avec les documents électroniques, en intégrant les technologies OMR dans des plateformes numériques unifiées. Cela garantit une flexibilité, une productivité et une qualité des données finales encore plus grandes.


Comment fonctionne l'OMR et où est-elle appliquée?

L'OMR repose sur le principe de la sélection de zones à marquer sur un formulaire (par exemple, dans un questionnaire ou un formulaire de test) puis de leur numérisation automatique à l'aide d'un logiciel spécialisé. Cela permet:

La reconnaissance optique de marques (OMR) commence par la création d'un modèle de formulaire spécifique comportant des zones désignées pour les marques. Une fois le formulaire rempli et numérisé (ou reçu électroniquement), le logiciel analyse l'image, détermine la position et les limites de chaque zone OMR et enregistre les marques apposées par l'utilisateur.

L'ensemble du processus comprend plusieurs étapes technologiques:

Domaines d'utilisation:

La reconnaissance optique de marques (OMR) est utilisée dans tous les domaines où il est nécessaire de numériser rapidement et précisément de grands flux de données similaires, qu’elles soient papier ou électroniques.


Quelles sont les fonctionnalités du VintaSoft Forms Processing .NET Plug-in pour l’OMR?

Les solutions modernes de reconnaissance d'étiquettes sont non seulement rapides, mais aussi flexibles en termes de configuration.L'un des leaders technologiques dans ce domaine est VintaSoft Forms Processing .NET Plug-in.

Ce SDK prend entièrement en charge l'identification et l'alignement automatisés des formulaires, la reconnaissance optique des marques et la reconnaissance des champs de texte et de code-barres. Ses principales fonctionnalités sont les suivantes:


Pourquoi les entreprises choisissent l'OMR avec VintaSoft?

Pour les entreprises, le traitement d'un grand nombre de questionnaires, de tests ou de formulaires standardisés exige non seulement de la précision, mais aussi une opportunité d'optimiser leurs processus métier. L'utilisation du VintaSoft Forms Processing .NET Plug-in permet de:


Présentation technique: Fonctionnement de la reconnaissance optique de marques (OMR) dans VintaSoft

Lors du fonctionnement, le logiciel détermine d’abord à quel modèle appartient l’image de forme reçue, l’aligne, puis commence l’analyse des champs OMR. Cette architecture permet de traiter les formes même si elles ont été numérisées avec des rotations, des décalages ou des modifications d’échelle.

Les modèles de formulaires sont créés à l’aide de code et d’éditeurs visuels au sein d’applications WinForms ou WPF. Le développeur peut personnaliser le type et l’apparence des champs OMR, et étendre l’architecture à ses propres tâches et formats de documents.

La reconnaissance optique de marques (OMR) est une norme moderne pour le traitement rapide et fiable de documents papier et électroniques en masse. Avec VintaSoft Forms Processing .NET Plug-in, le processus devient flexible, précis, intégrable à tous les systèmes d'entreprise et entièrement conforme aux exigences de la transformation numérique des entreprises.


Voici un code C# qui montre comment identifier et reconnaître un formulaire rempli contenant des marques OMR:
/// <summary>
/// Recognizes the form with OMR fields.
/// </summary>
/// <param name="formRecognitionManager">The form recognition manager.</param>
/// <param name="image">The image.</param>
public static void RecognizeFormWithOmrFields(
    Vintasoft.Imaging.FormsProcessing.FormRecognitionManager formRecognitionManager,
    Vintasoft.Imaging.VintasoftImage image)
{
    // if your form template contains OCR fields,
    // make sure OCR engine manager is initialized before recognition
    // (otherwise recognition will return null (Nothing)),
    // see OCR field recognition examples

    // recognize filled form in an image
    Vintasoft.Imaging.FormsProcessing.FormRecognitionResult recognitionResult = 
        formRecognitionManager.Recognize(image);

    // get the result of image comparison
    Vintasoft.Imaging.FormsProcessing.TemplateMatching.ImageImprintCompareResult imageCompareResult =
        recognitionResult.TemplateMatchingResult.ImageCompareResult;
    // if result is not reliable
    if (!imageCompareResult.IsReliable)
    {
        // matching template is not found
        System.Console.WriteLine("Matching template is not found.");
    }
    else
    {
        // get recognized page
        Vintasoft.Imaging.FormsProcessing.FormRecognition.FormPage recognizedPage = 
            recognitionResult.RecognizedPage;
        // get form field count
        if (recognizedPage.Items.Count == 0)
        {
            System.Console.WriteLine("No form fields were recognized.");
        }
        else
        {
            System.Console.WriteLine(string.Format(
                "Recognized form field count: {0}",
                recognizedPage.Items.Count));
            // for each recognized form field
            foreach (Vintasoft.Imaging.FormsProcessing.FormRecognition.FormField recognizedField in recognizedPage.Items)
            {
                if (recognizedField is Vintasoft.Imaging.FormsProcessing.FormRecognition.Omr.OmrField)
                {
                    Vintasoft.Imaging.FormsProcessing.FormRecognition.Omr.OmrField omrField = 
                        (Vintasoft.Imaging.FormsProcessing.FormRecognition.Omr.OmrField)recognizedField;
                    // write field info
                    System.Console.WriteLine(string.Format(
                        "  OMR field: name: {0}; state: {1}; confidence: {2:F1}%",
                        omrField.Name,
                        omrField.State,
                        omrField.Confidence * 100));
                }
            }
        }
    }
}