La reconnaissance optique des marques (OMR) est une technologie qui peut être utilisée pour lire et extraire des données à partir d’images de formulaires marqués. L’OMR est couramment utilisé dans les tests, enquêtes et bulletins de vote standardisés, mais il peut également être utilisé dans diverses autres applications, telles que la notation des travaux des étudiants et le suivi de l’inventaire. Dans cet article de blog, nous allons vous montrer comment créer et lire une feuille OMR avec un code-barres en C#.
Cet article couvre les sujets suivants :
- Créer et lire OMR avec code-barres - API C#
- Créer une feuille OMR avec code-barres
- Lire la feuille OMR avec code-barres
- Ressources d’apprentissage gratuites
Créer et lire OMR avec code-barres - API C#
Nous utiliserons l’Aspose.OMR for .NET API pour créer et lire une feuille OMR avec code-barres en C#. Il permet aux développeurs de concevoir, d’afficher et de reconnaître rapidement et facilement des feuilles de réponses, des enquêtes, des applications et des formulaires similaires remplis à la main dans les applications .NET.
Veuillez télécharger la DLL de l’API ou l’installer à l’aide de NuGet.
PM> Install-Package Aspose.OMR
Créer une feuille OMR avec un code-barres en C#
Nous pouvons facilement créer un fichier de modèle OMR (.omr) et une image de feuille à l’aide d’un simple balisage de texte en suivant les étapes ci-dessous :
- Créez une instance de la classe OmrEngine.
- Après cela, récupérez l’objet GenerationResult en appelant la méthode GenerateTemplate() avec le chemin du fichier texte comme argument.
- Enfin, appelez la méthode Save() pour enregistrer l’image générée et le fichier modèle .omr sur le disque local.
L’exemple de code suivant montre comment créer une feuille OMR avec un code-barres à l’aide de C#.
// Répertoire des fichiers d'entrée et de sortie
string dataDir = "C:\\Files\\";
// Initialiser le moteur
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));
// Vérifier en cas d'erreurs
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}
// Enregistrer le résultat de la génération : image et modèle .omr
res.Save(dataDir, "OMRTestWithBarcode");
Vous pouvez également vérifier le balisage de texte simple suivant qui est utilisé pour créer un modèle OMR :
?barcode=AsposeWebsite
value=aspose.com
barcode_type=qr
qr_version=1
x=1900
y=250
height=360
?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
?text= Answer sheet section
?answer_sheet=MainQuestions
elements_count=12
columns_count=4
?text=Sign________________________________
Veuillez télécharger le modèle OMR généré ici.
Lire la feuille OMR avec code-barres en C#
Nous pouvons effectuer des opérations OMR sur une image numérisée remplie d’une feuille OMR avec code-barres et extraire les données dans un fichier CSV. Pour cela, nous avons besoin du modèle OMR préparé (.omr) et de l’image (formulaires/feuilles remplis par l’utilisateur). Veuillez suivre les étapes ci-dessous pour lire la feuille OMR avec code-barres et extraire les données au format CSV.
- Créez une instance de la classe OmrEngine.
- Appelez la méthode GetTemplateProcessor() et initialisez l’objet de classe TemplateProcessor. Il prend le chemin du fichier du modèle OMR comme argument.
- Obtenez l’objet RecognitionResult en appelant la méthode Recognize() avec le chemin de l’image comme argument.
- Après cela, obtenez les résultats de reconnaissance sous forme de chaînes CSV à l’aide de la méthode GetCsv().
- Enfin, enregistrez le résultat CSV sous forme de fichier CSV sur le disque local.
L’exemple de code suivant montre comment lire et extraire des données d’une feuille OMR avec un code-barres en C#.
// Cet exemple de code montre comment effectuer un OMR sur une image et extraire des données
// Chemin du fichier du modèle OMR
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";
// Chemin des fichiers d'entrée et de sortie
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);
// Initialiser le moteur OMR
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
// Obtenez les résultats au format CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();
// Enregistrer le fichier CSV
File.WriteAllText(Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"), csvResult);
Console.WriteLine("Result exported. Path: " + Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"));
Console.WriteLine(csvResult);
Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitations d’évaluation.
Aspose.OMR for .NET – Ressources d’apprentissage
Outre l’extraction de données OMR à partir d’images, vous pouvez en savoir plus sur Aspose.OMR et explorer d’autres fonctionnalités de la bibliothèque en utilisant les ressources ci-dessous :
Conclusion
Dans cet article, nous avons appris à créer et lire une feuille OMR avec un code-barres en C#. Nous avons également vu comment extraire et sauvegarder les données OMR au format CSV. En suivant les étapes décrites dans cet article, vous pouvez exploiter Aspose.OMR et développer vos propres applications OMR. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.