El reconocimiento óptico de marcas (OMR) es una tecnología que se puede utilizar para leer y extraer datos de imágenes de formas marcadas. OMR se usa comúnmente en pruebas estandarizadas, encuestas y boletas, pero también se puede usar en una variedad de otras aplicaciones, como calificar el trabajo de los estudiantes y rastrear el inventario. En esta publicación de blog, le mostraremos cómo crear y leer una hoja OMR con un código de barras en C#.
Este artículo cubre los siguientes temas:
- Crear y leer OMR con código de barras - API de C#
- Crear hoja OMR con código de barras
- Leer hoja OMR con código de barras
- Recursos de aprendizaje gratuitos
Crear y leer OMR con código de barras: API de C#
Usaremos Aspose.OMR for .NET API para crear y leer una hoja OMR con código de barras en C#. Permite a los desarrolladores diseñar, representar y reconocer rápida y fácilmente hojas de respuestas, encuestas, aplicaciones y formularios similares completados manualmente en aplicaciones .NET.
Por favor descargue la DLL de la API o instálela usando NuGet.
PM> Install-Package Aspose.OMR
Crear hoja OMR con código de barras en C#
Podemos crear fácilmente un archivo de plantilla OMR (.omr) y una imagen de hoja usando un marcado de texto simple siguiendo los pasos a continuación:
- Cree una instancia de la clase OmrEngine.
- Después de eso, obtenga el objeto GenerationResult llamando al método GenerateTemplate() con la ruta del archivo de texto como argumento.
- Finalmente, llame al método Save() para guardar la imagen generada y el archivo de plantilla .omr en el disco local.
El siguiente ejemplo de código muestra cómo crear una hoja OMR con código de barras usando C#.
// Directorio de archivos de entrada y salida
string dataDir = "C:\\Files\\";
// Inicializar motor
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));
// Comprobar en caso de errores
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}
// Guardar resultado de la generación: imagen y plantilla .omr
res.Save(dataDir, "OMRTestWithBarcode");
Puede consultar además el siguiente marcado de texto simple que se utiliza para crear una plantilla 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________________________________
Por favor descargue la plantilla OMR generada aquí.
Leer hoja OMR con código de barras en C#
Podemos realizar operaciones OMR en una imagen escaneada completa de una hoja OMR con código de barras y extraer datos en un archivo CSV. Para ello, necesitamos la plantilla OMR preparada (.omr) y la imagen (formularios/hojas rellenados por el usuario). Siga los pasos a continuación para leer la hoja OMR con código de barras y extraer datos en CSV.
- Cree una instancia de la clase OmrEngine.
- Llame al método GetTemplateProcessor() e inicialice el objeto de clase TemplateProcessor. Toma la ruta del archivo de plantilla OMR como argumento.
- Obtenga el objeto RecognitionResult llamando al método Recognize() con la ruta de la imagen como argumento.
- Después de eso, obtenga los resultados del reconocimiento como cadenas CSV utilizando el método GetCsv().
- Finalmente, guarde el resultado CSV como un archivo CSV en el disco local.
El siguiente ejemplo de código muestra cómo leer y extraer datos de una hoja OMR con código de barras en C#.
// Este ejemplo de código demuestra cómo realizar OMR en una imagen y extraer datos.
// Ruta del archivo de plantilla OMR
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";
// Ruta de los archivos de entrada y salida
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);
// Inicializar motor OMR
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
// Obtener resultados en CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();
// Guardar archivo 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);
Obtenga una licencia gratuita
Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.
Aspose.OMR for .NET – Recursos de aprendizaje
Además de extraer datos OMR de imágenes, puede obtener más información sobre Aspose.OMR y explorar otras funciones de la biblioteca utilizando los siguientes recursos:
Conclusión
En este artículo, hemos aprendido cómo crear y leer una hoja OMR con un código de barras en C#. También hemos visto cómo extraer y guardar los datos OMR en formato CSV. Si sigue los pasos descritos en este artículo, podrá aprovechar Aspose.OMR y desarrollar sus propias aplicaciones OMR. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro de soporte gratuito.