Il riconoscimento ottico dei segni (OMR) è un processo di recupero dei dati da un documento che ha un certo tipo di marcatura. I segni sono eseguiti da esseri umani e vengono letti dal software di lettura dei fogli OMR o da uno scanner. Tuttavia, l’OMR è un componente importante nell’automazione della creazione e della valutazione dei fogli delle risposte e dei modelli OMR. Quindi, questo post del blog introdurrà una libreria OMR per programmatori Java. Aspose.OMR for Java offre funzionalità per creare un lettore di fogli OMR in Java a livello di programmazione. Inoltre, esamineremo anche uno strumento OMR online, quindi leggi attentamente questo articolo.
In questo post del blog tratteremo le seguenti sezioni:
- Aspose.OMR for Java - Installazione della libreria OMR
- Lettore di fogli OMR in Java - Esempio di codice
- Strumento OMR online
Aspose.OMR for Java - Installazione della libreria OMR
Esiste una guida completa su installazione. Quindi, puoi scaricare il file JAR o utilizzare le seguenti configurazioni Maven:
<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>
Lettore di fogli OMR in Java - Esempio di codice
Possiamo ora iniziare a sviluppare un software di lettura dei fogli OMR seguendo i passaggi indicati di seguito:
- Crea un oggetto della classe OmrEngine.
- Richiamare il metodo getTemplateProcessor per ottenere il processore del modello.
- Imposta una soglia personalizzata da utilizzare nel ricalcolo, il cui intervallo è (da 0 a 100).Riduci il valore: meno pixel neri sono necessari affinché una bolla venga conteggiata come riempita e viceversa.
- Scorri le immagini.
- Riconoscere l’immagine chiamando il metodo recognizeImage.
- Chiamare il metodo getCsv per ottenere la stringa CSV da esportare e salvare il CSV nella cartella di output.
- Richiama il metodo recalculate per ricalcolare i risultati del riconoscimento con una soglia personalizzata.
- Salva i risultati ricalcolati in un file CSV.
Il seguente frammento di codice mostra come sviluppare un lettore di fogli OMR in Java a livello di programmazione:
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;
// Lettore di fogli OMR in Java - OMR Sheet PNG
public class Main {
public static void main(String[] args) throws Exception {
// Definire le directory di lavoro.
String[] UserImages = new String[] { "/Sheet.png" };
String[] UserImagesNoExt = new String[] { "/files/" };
String templatePath = "/Sheet.omr";
// Crea un oggetto della classe OmrEngine.
OmrEngine engine = new OmrEngine();
// Richiamare il metodo getTemplateProcessor per ottenere il processore di modelli.
TemplateProcessor templateProcessor = engine.getTemplateProcessor(templatePath);
// Imposta una soglia personalizzata da utilizzare nel ricalcolo, il cui intervallo è (da 0 a 100).Riduci il valore: meno pixel neri sono necessari affinché una bolla venga conteggiata come riempita e viceversa.
int CustomThreshold = 0;
// Scorri le immagini.
for (int i = 0; i < UserImages.length; i++)
{
String image = UserImages[i];
String imagePath = image;
// Riconoscere l'immagine chiamando il metodo recognizeImage.
RecognitionResult result = templateProcessor.recognizeImage(imagePath);
// Chiamare il metodo getCsv per ottenere la stringa CSV da esportare e salvare il CSV nella cartella di output.
String stringRes = result.getCsv();
String outputName = UserImagesNoExt[i] + ".csv";
PrintWriter wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
// Richiamare il metodo recalculate per ricalcolare i risultati del riconoscimento con una soglia personalizzata.
templateProcessor.recalculate(result, CustomThreshold);
stringRes = result.getCsv();
// Salva i risultati ricalcolati in un file CSV.
outputName = UserImagesNoExt[i] + "_recalculated.csv";
wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
}
}
}
Potete vedere l’output nell’immagine sottostante:
Strumento OMR online
Oltre a una libreria OMR per Java, Aspose.OMR supporta un lettore di fogli OMR online. Quindi, questo strumento gratuito è altamente sicuro e analizza in modo efficiente i fogli delle risposte a bolle. Soprattutto, non è richiesta la creazione di un account o un abbonamento. Quindi, puoi usarlo semplicemente trascinando e rilasciando i file.
OMR Sheet PNG - Ottieni una licenza gratuita
Ora puoi usufruire di una licenza temporanea gratuita per provare questa libreria OMR oltre i limiti di valutazione.
Conclusione
Questo ci porta alla fine di questo post del blog. Abbiamo esaminato cosa è OMR e l’implementazione della creazione di un lettore di fogli OMR in Java. Allo stesso modo, puoi sfruttare questa libreria OMR per risparmiare tempo e manodopera poiché puoi sviluppare il tuo software di lettura di fogli OMR. Inoltre, puoi visitare il repository GitHub per iniziare lo sviluppo. Inoltre, puoi visitare la documentazione e i [riferimenti] API]15 per saperne di più su Aspose.OMR for Java.
L’aiuto è disponibile
Puoi condividere le tue domande o richieste sul nostro forum.
Domande frequenti – FAQ
Possiamo controllare il foglio OMR online?
Puoi utilizzare questo lettore di fogli OMR online per controllare i fogli delle risposte OMR.
Come leggere il foglio OMR in Java?
Aspose.OMR for Java è una libreria OMR che offre funzionalità avanzate per leggere i fogli di risposta OMR a livello di programmazione. Consulta questo link per scoprire come farlo.