Optical Mark Recognition, abgekürzt als OMR, wird häufig verwendet, um Fragebögen, Umfragen und andere Standards zur Informationserfassung zu bewerten. In diesem Artikel erfahren Sie, wie Sie die OMR-Fragen und Bubble-Antwortblätter mithilfe der C# Sprache in einer .NET Anwendung erstellen und prüfen. Wir werden die folgenden Ansätze kurz untersuchen:

OMR Template Creator und Checker API – Installation Erstellen Sie eine OMR-Fragebogenvorlage, ein Bild und eine PDF Datei mit C# OMR auf Multiple-Choice-Bubble-Antwortbogenbildern mit C# durchführen

OMR Template Creator und Checker API – Installation

Um OMR-Vorlagen zu erstellen und OMR-Operationen in C# oder VB.NET Anwendungen auszuführen, müssen wir zunächst Aspose.OMR for .NET API installieren. Sie können es einfach von New Releases oder mit dem folgenden NuGet Befehl herunterladen:

Install-Package Aspose.OMR -Version 20.6.0

Daher können wir jetzt mit der Erstellung von Multiple-Choice-Frageblattressourcen mit der API unter Verwendung von C# fortfahren:

Erstellen Sie eine OMR-Fragebogenvorlage, ein Bild und eine PDF Datei mit C#

Lassen Sie uns die Erstellung von OMR-Frageblatt-Ressourcen untersuchen. Hier speichern wir Beispielfragen in einer TXT Datei, die später von der OMR-Engine zum Erstellen der OMR-Fragenpapiervorlage, des Bildes und der PDF Datei verwendet wird. Darüber hinaus folgt das Text-Markup, das wir als Eingabe für die OMR-Engine verwenden werden:

?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________________________________

Jetzt werden wir diese Schritte mit C# Code befolgen, um ein OMR-Multiple-Choice-Frageblatt zu erstellen:

  1. OMR-Engine initialisieren
  2. Rufen Sie die Methode GenerateTemplate mit Textmarkup auf
  3. OMR-Ausgabefrageblatt speichern

Das folgende code snippet basiert auf diesen Schritten, die zeigen, wie Sie eine OMR-Fragebogenvorlage, ein Bild und eine PDF Datei mit C# erstellen:

// OME-Engine initialisieren
OmrEngine engine = new OmrEngine();

// Rufen Sie die Vorlagengenerierung auf, die den Pfad zur TXT Datei mit Markup bereitstellt
GenerationResult res = engine.GenerateTemplate(Path.Combine(testFolderPath, "Grid.txt"));

// bei Fehlern prüfen
if (res.ErrorCode != 0)
{
    Console.WriteLine("ERROR CODE: " + res.ErrorCode);
}

// Sie können einen der folgenden Ansätze verwenden
// Ergebnis der Generierung speichern: PDF und .omr-Vorlage
res.SaveAsPdf(testFolderPath , "Grid");
// Generierungsergebnis speichern: Bild und .omr-Vorlage
res.Save(testFolderPath, "Grid");

Daher haben wir ein OMR-Fragenpapier erstellt, wie im folgenden Screenshot gezeigt. Sie können Papiere verteilen, indem Sie die generierte PDF Datei oder das Bild gemäß Ihren Anforderungen ausdrucken.

OMR-Vorlage

Führen Sie OMR auf Multiple-Choice-Bubble-Antwortbogenbildern mit C# durch

Schließlich würden Sie die Antworten auf generierten Bubble-Antwortbögen sammeln und dann Bilder erfassen oder sie scannen, um OMR mit C# durchzuführen. Betrachten wir in diesem Beispiel das folgende Beispielbild. Aspose.OMR for .NET API erstellt eine kommagetrennte (CSV) Datei als Ausgabe der OMR-Ausführung.

erstellen omr

Lassen Sie uns diese Schritte ausführen, um OMR mit C# durchzuführen:

  1. Geben Sie den Pfad der Vorlagendatei an
  2. Geben Sie den Pfad der gescannten Bilddatei an
  3. TemplateProcessor initialisieren
  4. Erkennen Sie Bilder mit der methode RecognizeImage.
  5. CSV-Ausgabe in TXT Datei schreiben

Das folgende code snippet zeigt, wie Sie OMR für Multiple-Choice-Blasen-Antwortbogenbilder in C# ausführen:

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

// Eingangs und Ausgangsvorbereitung
string testFolderPath = dataDir;
string templatePath = Path.Combine(testFolderPath, TemplateName);

// tatsächliche OMR-API-Aufrufe
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"));
}

Der folgende Screenshot zeigt, wie effizient und genau die CSV-Ausgabedatei mit Aspose.OMR for .NET API generiert wird. Diese CSV-Informationen können nun gemäß Ihrem Systemdesign weiterverarbeitet werden.

durchführen omr

Fazit

Kurz gesagt, wir haben gelernt, wie man Frageblätter erstellt und später OMR-Operationen durchführt, um Bilder von Blasen-Antwortblättern mit C# zu markieren. Diese Erstellung von OMR-Blättern und die anschließende Durchführung von OMR-Operationen an Bildern ist bei verschiedenen Forschungsmethoden sehr hilfreich. Darüber hinaus können Sie sich bei Bedenken oder Fragen über kostenlose Support-Foren an uns wenden.

Siehe auch