Optical mark recognition (OMR) är en teknik som kan användas för att läsa och extrahera data från bilder av markerade former. OMR används ofta i standardiserade tester, undersökningar och omröstningar, men det kan också användas i en mängd andra applikationer, som att betygsätta studentarbete och spåra inventering. I det här blogginlägget kommer vi att visa dig hur du skapar och läser ett OMR-ark med streckkod i C#.
Den här artikeln tar upp följande ämnen:
- Skapa och läs OMR med streckkod - C# API
- Skapa OMR-ark med streckkod
- Läs OMR-ark med streckkod
- Gratis läranderesurser
Skapa och läs OMR med streckkod - C# API
Vi kommer att använda Aspose.OMR for .NET API för att skapa och läsa OMR-ark med streckkod i C#. Det tillåter utvecklare att snabbt och enkelt designa, rendera och känna igen handifyllda svarsblad, enkäter, applikationer och liknande formulär i .NET-applikationer.
Vänligen ladda ner DLL för API:t eller installera den med NuGet.
PM> Install-Package Aspose.OMR
Skapa OMR-ark med streckkod i C#
Vi kan enkelt skapa OMR-mall (.omr) fil och arkbild med enkel textmarkering genom att följa stegen nedan:
- Skapa en instans av klassen OmrEngine.
- Därefter hämtar du GenerationResult-objektet genom att anropa metoden GenerateTemplate() med textfilsökvägen som argument.
- Till sist, anropa metoden Save() för att spara den genererade bilden och .omr-mallfilen på den lokala disken.
Följande kodexempel visar hur man skapar ett OMR-ark med streckkod med C#.
// Katalog för in- och utdatafiler
string dataDir = "C:\\Files\\";
// Initiera motorn
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));
// Kontrollera vid fel
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}
// Spara genereringsresultat: bild och .omr-mall
res.Save(dataDir, "OMRTestWithBarcode");
Du kan ytterligare kontrollera följande enkla textuppmärkning som används för att skapa OMR-mall:
?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________________________________
Vänligen ladda ner den genererade OMR-mallen här.
Läs OMR-ark med streckkod i C#
Vi kan utföra OMR-operationer på en ifylld skannad bild av ett OMR-ark med streckkod och extrahera data i en CSV-fil. För detta ändamål behöver vi den förberedda OMR-mallen (.omr) och bilden (användarfyllda formulär/ark). Följ stegen nedan för att läsa OMR-ark med streckkod och extrahera data i CSV.
- Skapa en instans av klassen OmrEngine.
- Anropa metoden GetTemplateProcessor() och initiera klassobjektet TemplateProcessor. Den tar OMR-mallens filsökväg som ett argument.
- Hämta RecognitionResult-objektet genom att anropa metoden Recognize() med bildsökvägen som argument.
- Efter det får du igenkänningsresultat som CSV-strängar med metoden GetCsv().
- Spara slutligen CSV-resultatet som en CSV-fil på den lokala disken.
Följande kodexempel visar hur man läser och extraherar data från ett OMR-ark med streckkod i C#.
// Detta kodexempel visar hur man utför OMR på en bild och extraherar data
// OMR-mallfilsökväg
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";
// Sökväg för in- och utdatafiler
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);
// Initiera OMR Engine
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
// Få resultat i CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();
// Spara CSV-fil
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);
Skaffa en gratis licens
Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.
Aspose.OMR för .NET – Lärresurser
Förutom att extrahera OMR-data från bilder kan du lära dig mer om Aspose.OMR och utforska andra funktioner i biblioteket med hjälp av resurserna nedan:
Slutsats
I den här artikeln har vi lärt oss hur man skapar och läser OMR-ark med en streckkod i C#. Vi har också sett hur man extraherar och sparar OMR-data i ett CSV-format. Genom att följa stegen som beskrivs i den här artikeln kan du utnyttja Aspose.OMR och utveckla dina egna OMR-applikationer. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.