Il riconoscimento ottico dei segni (OMR) è una tecnologia che può essere utilizzata per leggere ed estrarre dati da immagini di moduli contrassegnati. OMR è comunemente utilizzato in test, sondaggi e votazioni standardizzati, ma può essere utilizzato anche in una varietà di altre applicazioni, come la valutazione del lavoro degli studenti e il monitoraggio dell’inventario. In questo post del blog ti mostreremo come creare e leggere un foglio OMR con un codice a barre in C#.
Questo articolo tratta i seguenti argomenti:
- Crea e leggi OMR con codice a barre - API C#
- Crea foglio OMR con codice a barre
- Leggi il foglio OMR con il codice a barre
- Risorse didattiche gratuite
Crea e leggi OMR con codici a barre - API C#
Utilizzeremo Aspose.OMR for .NET API per creare e leggere il foglio OMR con codice a barre in C#. Consente agli sviluppatori di progettare, eseguire il rendering e riconoscere in modo rapido e semplice fogli di risposte, sondaggi, applicazioni e moduli simili compilati a mano nelle applicazioni .NET.
scarica la DLL dell’API o installala utilizzando NuGet.
PM> Install-Package Aspose.OMR
Crea un foglio OMR con codice a barre in C#
Possiamo creare facilmente un file modello OMR (.omr) e un’immagine del foglio utilizzando un semplice markup di testo seguendo i passaggi seguenti:
- Crea un’istanza della classe OmrEngine.
- Successivamente, ottieni l’oggetto GenerationResult chiamando il metodo GenerateTemplate() con il percorso del file di testo come argomento.
- Infine, chiama il metodo Save() per salvare l’immagine generata e il file modello .omr sul disco locale.
L’esempio di codice seguente mostra come creare un foglio OMR con codice a barre utilizzando C#.
// Directory dei file di input e output
string dataDir = "C:\\Files\\";
// Inizializza il motore
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));
// Controllare in caso di errori
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}
// Risultato della generazione del salvataggio: immagine e modello .omr
res.Save(dataDir, "OMRTestWithBarcode");
Puoi controllare ulteriormente il seguente semplice markup di testo utilizzato per creare il modello OMR:
?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________________________________
Per favore scarica il modello OMR generato qui.
Leggi il foglio OMR con codice a barre in C#
Possiamo eseguire operazioni OMR su un’immagine scansionata piena di un foglio OMR con codice a barre ed estrarre i dati in un file CSV. A questo scopo abbiamo bisogno del modello OMR preparato (.omr) e dell’immagine (moduli/fogli compilati dall’utente). Seguire i passaggi seguenti per leggere il foglio OMR con codice a barre ed estrarre i dati in CSV.
- Crea un’istanza della classe OmrEngine.
- Chiama il metodo GetTemplateProcessor() e inizializza l’oggetto della classe TemplateProcessor. Prende come argomento il percorso del file modello OMR.
- Ottieni l’oggetto RecognitionResult chiamando il metodo Recognize() con il percorso dell’immagine come argomento.
- Successivamente, ottieni i risultati del riconoscimento come stringhe CSV utilizzando il metodo GetCsv().
- Infine, salva il risultato CSV come file CSV sul disco locale.
L’esempio di codice seguente mostra come leggere ed estrarre dati da un foglio OMR con codice a barre in C#.
// Questo esempio di codice mostra come eseguire l'OMR su un'immagine ed estrarre i dati
// Percorso del file del modello OMR
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";
// Percorso dei file di input e output
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);
// Inizializza il motore OMR
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
// Ottieni risultati in CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();
// Salva il file CSV
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);
Ottieni una licenza gratuita
Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.
Aspose.OMR for .NET – Risorse per l’apprendimento
Oltre a estrarre i dati OMR dalle immagini, puoi saperne di più su Aspose.OMR ed esplorare altre funzionalità della libreria utilizzando le risorse seguenti:
Conclusione
In questo articolo abbiamo imparato come creare e leggere un foglio OMR con un codice a barre in C#. Abbiamo visto anche come estrarre e salvare i dati OMR in formato CSV. Seguendo i passaggi descritti in questo articolo, puoi sfruttare Aspose.OMR e sviluppare le tue applicazioni OMR. In caso di ambiguità, non esitate a contattarci sul nostro forum di supporto gratuito.