La reconnaissance optique de marques, abrégée en OMR, est fréquemment utilisée pour évaluer des questionnaires, des enquêtes et d’autres normes de collecte d’informations. Dans cet article, vous apprendrez à créer et à vérifier les feuilles de questions et de réponses OMR à l’aide du langage C# dans une application .NET. Nous allons brièvement explorer les approches suivantes :

API de création et de vérification de modèles OMR – Installation Créer un modèle de feuille de questions OMR, une image et un fichier PDF à l’aide de C# Effectuer l’OMR sur des images de feuilles de réponses à bulles à choix multiples à l’aide de C#

API de création et de vérification de modèles OMR - Installation

Pour créer des modèles OMR et effectuer des opérations OMR dans des applications C# ou VB.NET, nous devons d’abord installer Aspose.OMR for l’API .NET. Vous pouvez facilement le télécharger depuis New Releases ou avec la commande NuGet suivante :

Install-Package Aspose.OMR -Version 20.6.0

Par conséquent, nous sommes maintenant prêts à procéder à la création de ressources de feuille de questions à choix multiples avec l’API en utilisant C# :

Créer un modèle de feuille de questions OMR, une image et un fichier PDF à l’aide de C#

Explorons la création de ressources de feuille de questions OMR. Ici, nous stockerons des exemples de questions dans un fichier TXT qui sera ensuite utilisé par le moteur OMR pour créer le modèle de papier de question OMR, l’image et le fichier PDF. De plus, voici le balisage de texte que nous utiliserons comme entrée pour le moteur OMR :

?text=Name__________________________________ Date____________

?grid=ID
	sections_count=8
#What is Aspose.OMR main function?
	() OCR () Capture human-marked data
	() There is no main function () Enhance images
#Can Aspose.OMR process not only scans, but also photos?
	() Yes, indeed! () No
#Aspose.OMR is available on any platform, because it is:
	() Cross-platform code () Cloud service
#Aspose.OMR works with any kind of OMR forms: tests, exams, questionnaires, surveys, etc.
	() Yes, indeed! () No
#Excellent recognition results can be achieved only for filled bubbles at least for:
	() 40% () 60% () 75% () 98%
#Do you have to mark up every question on the page?
	(Yes) Yes, that will help a lot! (No) No
#Rate your preference from 0 to 9 with "0" being preference towards performance
and "9" being preference towards flexibility.
	(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
#I found aspose omr to be a useful tool. (5 - strongly agree, 1 - strongly disagree)
	(5) (4) (3) (2) (1)

?text= Answer sheet section
?answer_sheet=MainQuestions
	elements_count=10
	columns_count=5

?text=Sign________________________________

Nous allons maintenant suivre ces étapes avec du code C# pour créer une feuille de questions à choix multiples OMR :

  1. Initialiser moteur OMR
  2. Appelez la méthode GenerateTemplate avec un balisage de texte
  3. Enregistrer la feuille de questions sur la sortie OMR

L’extrait de code suivant est basé sur ces étapes qui montrent comment créer un modèle de feuille de questions OMR, une image et un fichier PDF à l’aide de C# :

// initialiser le moteur OMR
OmrEngine engine = new OmrEngine();

// génération de modèle d'appel fournissant le chemin d'accès au fichier txt avec le balisage
GenerationResult res = engine.GenerateTemplate(Path.Combine(testFolderPath, "Grid.txt"));

// vérifier en cas d'erreurs
if (res.ErrorCode != 0)
{
    Console.WriteLine("ERROR CODE: " + res.ErrorCode);
}

// vous pouvez utiliser l'une des approches suivantes
// enregistrer le résultat de la génération : modèle PDF et .omr
res.SaveAsPdf(testFolderPath , "Grid");
// enregistrer le résultat de la génération : image et modèle .omr
res.Save(testFolderPath, "Grid");

Nous avons donc créé un document de questions OMR comme indiqué dans la capture d’écran suivante. Vous pouvez distribuer des articles en imprimant le fichier PDF généré ou l’image selon vos besoins.

Modèle OMR

Effectuer l’OMR sur des images de feuilles de réponses à bulles à choix multiples à l’aide de C#

Enfin, vous collecterez les réponses sur des feuilles de réponses à bulles générées, puis capturerez des images ou les numériserez pour effectuer une OMR à l’aide de C#. Dans cet exemple, considérons l’exemple d’image suivant. Aspose.OMR for l’API .NET créera un fichier séparé par des virgules (CSV) comme résultat de l’exécution de l’OMR.

créer omr

Suivons ces étapes pour effectuer OMR en utilisant C# :

  1. Spécifiez le chemin du fichier de modèle
  2. Spécifiez le chemin d’accès au fichier de l’image numérisée
  3. Initialiser TemplateProcessor
  4. Reconnaître les images avec la méthode RecognizeImage
  5. Écrire la sortie CSV dans le fichier TXT

L’extrait de code ci-dessous montre comment effectuer l’OMR sur des images de feuilles de réponses à bulles à choix multiples en C# :

string TemplateName = @"Sheet.omr";
string[] UserImages = new string[] { "Sheet1.jpg" };

// préparation des entrées et des sorties
string testFolderPath = dataDir;
string templatePath = Path.Combine(testFolderPath, TemplateName);

// appels d'API OMR réels
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");

for (int i = 0; i < UserImages.Length; i++)
{
    string imagePath = Path.Combine(testFolderPath, UserImages[i]);
    string csvResult = templateProcessor.RecognizeImage(imagePath).GetCsv();

    File.WriteAllText(Path.Combine(outputPath, Path.GetFileNameWithoutExtension(UserImages[i]) + ".csv"), csvResult);
    Console.WriteLine("Result exported. Path: " + Path.Combine(testFolderPath, Path.GetFileNameWithoutExtension(UserImages[i]) + ".csv"));
}

La capture d’écran suivante montre l’efficacité et la précision avec lesquelles le fichier CSV de sortie est généré avec Aspose.OMR for l’API .NET. Ces informations CSV peuvent maintenant être traitées ultérieurement conformément à la conception de votre système.

effectuer omr

Conclusion

En un mot, nous avons appris à créer des feuilles de questions et à effectuer ultérieurement des opérations OMR pour marquer des images de feuilles de réponses à bulles à l’aide de C#. Cette création de feuilles OMR, puis l’exécution d’opérations OMR sur des images, sont très utiles dans différentes méthodes de recherche. De plus, en cas de problème ou de question, vous pouvez nous contacter via Forums d’assistance gratuits.

Voir également