
Panoramica
Il riconoscimento del marchio ottico (OMR) è un processo elettronico che facilita la lettura e la cattura di dati contrassegnati da persone su moduli di documento appositamente progettati, come test o sondaggi, che includono input a bolle o quadrati compilati dagli utenti. Utilizzando l’estrazione di dati da immagini in Java, possiamo gestire in modo efficiente immagini scansionate di questi moduli di sondaggio, questionari o fogli di prova, rendendo possibile leggere gli input degli utenti programmaticamente. Questo articolo ti guiderà su come eseguire OMR ed estrarre dati da immagini utilizzando Java.
I seguenti argomenti saranno trattati in questo articolo:
- API Java OMR per Estrarre Dati da Immagine
- Estrazione Dati da Immagini in Java
- Esegui OMR ed Estrai Dati da Immagini Multiple
- Estrai Dati OMR con Soglia
- Estrai Dati OMR con Ricalcolo
API Java OMR per Estrarre Dati da Immagine
Per eseguire operazioni OMR e estrazione di dati da immagini in Java, utilizzeremo l’API Aspose.OMR per Java. Questo potente strumento consente la progettazione, creazione e riconoscimento di fogli di risposta, test, cartelle di MCQ, quiz, moduli di feedback, sondaggi e schede.
La classe OmrEngine all’interno dell’API è responsabile della creazione di modelli e dell’elaborazione delle immagini. Il suo metodo getTemplateProcessor(String templatePath) inizializza un’istanza di TemplateProcessor progettata per gestire modelli e immagini. Per riconoscere un’immagine, può essere utilizzato il metodo recognizeImage(String imagePath), che restituisce tutti gli elementi OMR come un’istanza della classe RecognitionResult. Utilizzando il metodo getCsv(), puoi generare una stringa CSV contenente i risultati del riconoscimento. Inoltre, il metodo recalculate(RecognitionResult result, int recognitionThreshold) affina i risultati del riconoscimento con parametri personalizzati.
Si prega di scaricare il JAR dell’API o di aggiungere la seguente configurazione pom.xml in un’applicazione Java basata su Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-omr</artifactId>
<version>19.12</version>
</dependency>
Estrazione Dati da Immagini in Java
Per eseguire un’operazione OMR, abbiamo bisogno del file modello OMR preparato (.omr) e dell’immagine di moduli o fogli compilati dagli utenti. Il processo di estrazione di dati da immagini in Java, specificamente utilizzando operazioni OMR, prevede i seguenti passaggi:
- Innanzitutto, crea un’istanza della classe OmrEngine.
- Successivamente, chiama il metodo getTemplateProcessor() e inizializza un oggetto della classe TemplateProcessor, passando il percorso del file modello OMR come argomento.
- Quindi, ottieni l’oggetto RecognitionResult chiamando il metodo recognizeImage() con il percorso dell’immagine come argomento.
- Dopo di che, ottieni i risultati del riconoscimento come stringhe CSV utilizzando il metodo getCsv().
- Infine, salva il risultato CSV come file CSV su disco locale.
Il seguente esempio di codice dimostra come eseguire l’estrazione di dati da immagini in Java convertendo i dati OMR in formato CSV.

Esegui OMR ed Estrai Dati da un’immagine in Java.
Si prega di scaricare il modello OMR utilizzato in questo post del blog.
Esegui OMR ed Estrai Dati da Immagini Multiple
Possiamo eseguire operazioni OMR su più immagini ed estrarre dati in un file CSV separato per ciascuna, utilizzando i passaggi sopra descritti. Per realizzare l’estrazione di dati da immagini in Java, è necessario ripetere i passaggi 3, 4 e 5 per tutte le immagini individualmente.
Di seguito è riportato un esempio di codice che dimostra come estrarre dati OMR da più immagini utilizzando Java.
. I dati dell’elenco, sia a punti che numerati, devono rimanere completamente invariati.
Estrai Dati OMR con Soglia in Java
Per eseguire operazioni di Riconoscimento del Marchio Ottico (OMR) in Java, utilizziamo un valore di soglia compreso tra 0 e 100 in base a requisiti specifici. Questo valore di soglia, utilizzato nell’estrazione di dati da immagini in Java, determina quanto sarà rigorosa l’API nell’evidenziare le risposte; un valore più alto aumenta la severità. È essenziale rispettare i passaggi precedentemente menzionati per l’elaborazione OMR con la soglia scelta. In particolare, nel passaggio #3, deve essere chiamato il metodo recognizeImage(string, int32). Questo metodo sovraccaricato richiede il percorso del file immagine e il valore di soglia desiderato come parametri.
Il seguente esempio di codice dimostra come eseguire OMR con un valore di soglia utilizzando Java:
Estrai Dati OMR con Ricalcolo in Java
Quando si tratta di un’accurata estrazione di dati da immagini in Java, soprattutto riguardo all’OMR, potrebbe essere necessario ricalcolare i risultati utilizzando valori di soglia diversi. Configurando l’API, il ricalcolo può essere automatizzato tramite il metodo TemplateProcessor.recalculate(). Questo approccio consente iterazioni di elaborazione di immagini multiple regolando la soglia fino a quando non si ottiene il risultato desiderato. Per eseguire con successo l’operazione OMR con ricalcolo, segui i passaggi seguenti:
- Innanzitutto, crea un’istanza della classe OmrEngine.
- Successivamente, chiama il metodo getTemplateProcessor() e inizializza un oggetto della classe TemplateProcessor. Prende il percorso del file modello OMR come argomento.
- Quindi, ottieni l’oggetto RecognitionResult chiamando il metodo recognizeImage() con il percorso dell’immagine come argomento.
- Successivamente, esporta i risultati del riconoscimento come stringa CSV utilizzando il metodo getCsv().
- Quindi, salva il risultato CSV come file CSV su disco locale.
- Successivamente, chiama il metodo recalculate(). Prende l’oggetto RecognitionResult e il valore di soglia come argomenti.
- Dopo di che, esporta i risultati del riconoscimento come stringa CSV utilizzando il metodo getCsv().
- Infine, salva il risultato CSV come file CSV su disco locale.
Il seguente esempio di codice dimostra come eseguire OMR con il metodo di ricalcolo utilizzando Java:
.
Ottieni una Licenza Gratuita
Hai l’opportunità di ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione. Questo è un ottimo modo per esplorare funzionalità come l’estrazione di dati da immagini in Java, consentendoti di valutare appieno le sue capacità. I dati dell’elenco qui sotto rimangono invariati per tua riferimento:
- La libreria funziona in modo efficiente con grandi volumi di dati.
- L’integrazione con i sistemi esistenti è senza soluzione di continuità.
- I dati estratti sono altamente accurati e affidabili.
- I passaggi di installazione sono semplici e ben documentati.
Conclusione
In questo articolo, abbiamo appreso come:
- eseguire operazioni OMR su immagini;
- estrarre dati in formato CSV programmaticamente;
- applicare impostazioni di soglia durante l’esecuzione di OMR su immagini;
- ricalcolare i risultati OMR in un processo automatico utilizzando Java.
Inoltre, quando si tratta di estrazione di dati da immagini in Java, puoi esplorare di più sull’API Aspose.OMR per Java consultando la documentazione. Se riscontri problemi, sentiti libero di contattarci sul nostro forum di supporto gratuito.