Optical mark recognition (OMR) är en process för att hämta data från ett dokument som har en viss typ av märkning. Markeringarna görs av människor och läses av OMR arkläsarprogramvara eller en skanner. OMR är dock en viktig komponent för att automatisera skapandet och utvärderingen av svarsblad och OMR-mallar. Så det här blogginlägget kommer att introducera ett OMR-bibliotek för Java-programmerare. Aspose.OMR för Java erbjuder funktioner för att bygga en OMR-arkläsare i Java programmatiskt. Dessutom kommer vi också att gå igenom ett online OMR-verktyg så läs den här artikeln noggrant.
Vi kommer att täcka följande avsnitt i det här blogginlägget:
Aspose.OMR för Java - OMR biblioteksinstallation
Det finns en omfattande guide om installation. Så du kan ladda ner JAR-filen eller använda följande Maven-konfigurationer:
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-omr</artifactId>
<version>23.12</version>
</dependency>
</dependencies>
OMR Sheet Reader i Java - Kodprov
Vi kan nu börja utveckla en OMR-arkläsarprogramvara genom att följa stegen som nämns nedan:
- Skapa ett objekt av klassen OmrEngine.
- Anropa metoden getTemplateProcessor för att hämta mallprocessorn.
- Ställ in en anpassad tröskel som ska användas i omräkning vars intervall är (0 till 100).Sänk värdet - desto färre svarta pixlar krävs för att en bubbla ska räknas som fylld och vice versa.
- Gå igenom bilderna.
- Känn igen bilden genom att anropa metoden identifieringImage.
- Anropa getCsv-metoden för att hämta export-CSV-strängen och spara CSV-filen i utdatamappen.
- Anropa metoden recalculate för att beräkna igenkänningsresultat med en anpassad tröskel.
- Spara omräknade resultat i en CSV-fil.
Följande kodavsnitt visar hur man utvecklar en OMR-arkläsare i Java programmatiskt:
package com.example;
import com.aspose.omr.OmrEngine;
import com.aspose.omr.RecognitionResult;
import com.aspose.omr.TemplateProcessor;
import java.io.FileOutputStream;
import java.io.PrintWriter;
// OMR Sheet Reader i Java - OMR Sheet PNG
public class Main {
public static void main(String[] args) throws Exception {
// Definiera arbetskataloger.
String[] UserImages = new String[] { "/Sheet.png" };
String[] UserImagesNoExt = new String[] { "/files/" };
String templatePath = "/Sheet.omr";
// Skapa ett objekt av klassen OmrEngine.
OmrEngine engine = new OmrEngine();
// Anropa metoden getTemplateProcessor för att hämta mallprocessor.
TemplateProcessor templateProcessor = engine.getTemplateProcessor(templatePath);
// Ställ in en anpassad tröskel som ska användas i omräkning vars intervall är (0 till 100).Sänk värdet - desto färre svarta pixlar krävs för att en bubbla ska räknas som fylld och vice versa.
int CustomThreshold = 0;
// Gå igenom bilderna.
for (int i = 0; i < UserImages.length; i++)
{
String image = UserImages[i];
String imagePath = image;
// Känn igen bilden genom att anropa metoden identifieringImage.
RecognitionResult result = templateProcessor.recognizeImage(imagePath);
// Anropa getCsv-metoden för att hämta export-CSV-strängen och spara CSV-filen i utdatamappen.
String stringRes = result.getCsv();
String outputName = UserImagesNoExt[i] + ".csv";
PrintWriter wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
// Återberäkna metoden för att beräkna igenkänningsresultat med anpassad tröskel.
templateProcessor.recalculate(result, CustomThreshold);
stringRes = result.getCsv();
// Spara omräknade resultat i en CSV-fil.
outputName = UserImagesNoExt[i] + "_recalculated.csv";
wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
}
}
}
Du kan se resultatet i bilden nedan:
OMR-verktyg online
Förutom ett OMR-bibliotek för Java stödjer Aspose.OMR en online OMR-arkläsare. Så det här gratisverktyget är mycket säkert och skannar bubblasvarsblad effektivt. Framför allt krävs inget kontoskapande eller prenumeration. Så du kan använda den genom att bara dra och släppa filer.
OMR Sheet PNG - Skaffa en gratis licens
Nu kan du använda en gratis temporär licens för att prova detta OMR-bibliotek utöver utvärderingsbegränsningarna.
Slutsats
Detta för oss till slutet av detta blogginlägg. Vi har gått igenom vad som är OMR och implementeringen av uppbyggnaden av en OMR-arkläsare i Java. På samma sätt kan du utnyttja detta OMR-bibliotek för att spara tid och arbetskraft eftersom du kan utveckla din egen OMR-arkläsare. Dessutom kan du besöka GitHub repet för att starta utvecklingen. Dessutom kan du besöka dokumentationen och API referenser för att lära dig mer om Aspose.OMR for Java.
Hjälp finns tillgänglig
Du kan dela dina frågor eller frågor på vårt forum.
Vanliga frågor – vanliga frågor
Kan vi kolla OMR-arket online?
Du kan använda denna online OMR-arkläsare för att kontrollera OMR-svarsblad.
Hur läser man OMR-ark i Java?
Aspose.OMR for Java är ett OMR-bibliotek som erbjuder omfattande funktioner för att läsa OMR-svarsblad programmatiskt. Se denna länk för att lära dig hur du gör det.