Sie können bestimmte Markierungen auf Bildern erkennen, indem Sie optische Markierungserkennungsvorgänge durchführen. Beispielsweise können Sie gefüllte Blasen für einen Fragebogen, eine Umfrage oder eine Prüfung in Form von Multiple-Choice-Fragen erkennen. Weitere Einzelheiten finden Sie in den folgenden Abschnitten:

Optische Markierungserkennung – Installation der C# API

Sie können die API Aspose.OMR for .NET in Ihren C# Anwendungen konfigurieren, indem Sie die DLL aus den Abschnitten Downloads oder über die Galerie NuGet mit dem folgenden Installationsbefehl herunterladen:

PM> Install-Package Aspose.OMR

Bild aus MemoryStream mit OMR in C# erkennen

Manchmal werden die Bilder in einer Datenbank oder einer Remote-Ressource gespeichert und Sie können diese Dateien in einen MemoryStream laden. Ebenso kann es viele Szenarien geben, in denen das Speichern eines Bildes auf der Festplatte und das anschließende Laden zur Verarbeitung einen Overhead darstellen kann. So können Sie das Bild bequem in einen Stream laden und OMR-Operationen darauf ausführen. Im Folgenden sind die Schritte zum Erkennen eines Bildes von MemoryStream aufgeführt:

  1. Holen Sie sich die Vorlage zu erkennen.
  2. Initialisieren Sie das Klassenobjekt OmrEngine.
  3. Bild im MemoryStream mit der methode RecognizeImage erkennen.
  4. Speichern Sie die Ausgabedatei mit der klasse instanz RecognitionResult.

Der folgende Code zeigt, wie das Bild von einem MemoryStream mit OMR in C# erkannt wird:

// Holen Sie sich Vorlage zu erkennen
string templatePath = "Sheet.omr";

// Holen Sie sich ein Bild zum Erkennen
string imagePath = "Sheet1.JPG";

// Initialisiert das OmrEngine Klassenobjekt
OmrEngine engine = new OmrEngine();

// Vorlage zum Erkennen festlegen
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);

using (Image image = Image.FromFile(imagePath))
{
    using (MemoryStream ms = new MemoryStream())
    {
        image.Save(ms, image.RawFormat);
        ms.Flush();

        // Bild erkennen
        Aspose.OMR.Model.RecognitionResult result = templateProcessor.RecognizeImage(ms);

        var stringRes = result.GetCsv();
        File.WriteAllText(Path.GetFileNameWithoutExtension(imagePath) + ".csv", stringRes);
    }
}

Stapelverarbeitung der Bilder zur Erkennung mit OMR unter Verwendung von C#

Sie können einen Stapel Bilder in einem Ordner verarbeiten und die Markierungen mit optischer Markierungserkennung erkennen. Bitte befolgen Sie die folgenden Schritte, um einen Stapel von Bildern zu erkennen:

  1. Holen Sie sich die OMR-Vorlage zur Erkennung.
  2. Rufen Sie RecognitionResult aller Bilder mit der methode RecognizeFolder ab.
  3. Ausgabe als CSV Datei speichern.

Der folgende Code erklärt, wie ein Batch von Bildern für die optische Markierungserkennung programmgesteuert mit C# verarbeitet wird:

// Holen Sie sich Vorlage zu erkennen
string templatePath = "Sheet.omr";

// Get Ordner enthält Bilder zum Erkennen
string folderPath = "D:\images\";

OmrEngine engine = new OmrEngine();

// Vorlage zum Erkennen festlegen
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);

// Bilder aus Ordner erkennen
Aspose.OMR.Model.RecognitionResult[] result = templateProcessor.RecognizeFolder(folderPath);

for (int i = 0; i < result.Length; i++)
{
    var stringRes = result[i].GetCsv();
    File.WriteAllText(folderPath  + (i+1) + ".csv", stringRes);
}

Erhalten Sie eine kostenlose API Lizenz

Sie können die API ohne Einschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie ein Bild aus einem MemoryStream mithilfe von OMR in C# erkennen. Außerdem wird das Erkennen aller Bilder in einem Ordner und das Speichern des Ausgabeergebnisses als CSV Dateien mit kommagetrennten Werten erläutert. Darüber hinaus können Sie sich andere Funktionen der API ansehen, indem Sie die Dokumentation besuchen. Sie können uns jederzeit im Free Support Forum mit Ihren Anliegen kontaktieren.

Siehe auch