El reconocimiento óptico de marcas (OMR) es un proceso de recuperación de datos de un documento que tiene un determinado tipo de marca. Las marcas las realizan personas y se leen mediante un software de lectura de hojas OMR o un escáner. Sin embargo, el OMR es un componente importante en la automatización de la creación y evaluación de hojas de respuestas y plantillas OMR. Por lo tanto, esta publicación del blog presentará una biblioteca OMR para programadores de Java. Aspose.OMR for Java ofrece funciones para crear un lector de hojas OMR en Java de forma programática. Además, también analizaremos una herramienta OMR en línea, por lo que le recomendamos que lea este artículo detenidamente.
Cubriremos las siguientes secciones en esta publicación de blog:
- Aspose.OMR for Java - Instalación de la biblioteca OMR
- Lector de hojas OMR en Java: ejemplo de código
- Herramienta OMR en línea
Aspose.OMR for Java - Instalación de la biblioteca OMR
Hay una guía completa sobre instalación. Por lo tanto, puede descargar el archivo JAR o utilizar las siguientes configuraciones de 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>
Lector de hojas OMR en Java: ejemplo de código
Ahora podemos comenzar a desarrollar un software lector de hojas OMR siguiendo los pasos que se mencionan a continuación:
- Crea un objeto de la clase OmrEngine.
- Invoque el método getTemplateProcessor para obtener el procesador de plantillas.
- Establezca un umbral personalizado para utilizar en el recálculo cuyo rango sea (0 a 100).Cuanto menor sea el valor, menos píxeles negros se necesitarán para que una burbuja se considere llena y viceversa.
- Recorrer las imágenes.
- Reconocer la imagen llamando al método perceiveImage.
- Llame al método getCsv para obtener la cadena CSV de exportación y guardar el CSV en la carpeta de salida.
- Invoque el método recalculate para recalcular los resultados de reconocimiento con un umbral personalizado.
- Guardar los resultados recalculados en un archivo CSV.
El siguiente fragmento de código demuestra cómo desarrollar un lector de hojas OMR en Java mediante programación:
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;
// Lector de hojas OMR en Java - Hoja OMR PNG
public class Main {
public static void main(String[] args) throws Exception {
// Definir directorios de trabajo.
String[] UserImages = new String[] { "/Sheet.png" };
String[] UserImagesNoExt = new String[] { "/files/" };
String templatePath = "/Sheet.omr";
// Crea un objeto de la clase OmrEngine.
OmrEngine engine = new OmrEngine();
// Invoque el método getTemplateProcessor para obtener el procesador de plantillas.
TemplateProcessor templateProcessor = engine.getTemplateProcessor(templatePath);
// Establezca un umbral personalizado para utilizar en el recálculo cuyo rango sea (0 a 100).Cuanto menor sea el valor, menos píxeles negros se necesitarán para que una burbuja se considere llena y viceversa.
int CustomThreshold = 0;
// Recorrer las imágenes.
for (int i = 0; i < UserImages.length; i++)
{
String image = UserImages[i];
String imagePath = image;
// Reconocer la imagen llamando al método perceiveImage.
RecognitionResult result = templateProcessor.recognizeImage(imagePath);
// Llame al método getCsv para obtener la cadena CSV de exportación y guardar el CSV en la carpeta de salida.
String stringRes = result.getCsv();
String outputName = UserImagesNoExt[i] + ".csv";
PrintWriter wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
// Invoque el método recalcular para recalcular los resultados de reconocimiento con un umbral personalizado.
templateProcessor.recalculate(result, CustomThreshold);
stringRes = result.getCsv();
// Guardar los resultados recalculados en un archivo CSV.
outputName = UserImagesNoExt[i] + "_recalculated.csv";
wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
}
}
}
Puedes ver el resultado en la imagen a continuación:
Herramienta OMR en línea
Además de una biblioteca OMR para Java, Aspose.OMR incluye un lector de hojas OMR en línea. Por lo tanto, esta herramienta gratuita es muy segura y escanea las hojas de respuestas con burbujas de manera eficiente. Sobre todo, no es necesario crear una cuenta ni suscribirse. Por lo tanto, puede usarla simplemente arrastrando y soltando archivos.
Hoja OMR PNG: obtenga una licencia gratuita
Ahora, puede aprovechar una licencia temporal gratuita para probar esta biblioteca OMR más allá de las limitaciones de evaluación.
Conclusión
Esto nos lleva al final de esta publicación del blog. Hemos repasado qué es OMR y la implementación de la construcción de un lector de hojas OMR en Java. Del mismo modo, puede aprovechar esta biblioteca OMR para ahorrar tiempo y mano de obra, ya que puede desarrollar su propio software de lectura de hojas OMR. Además, puede visitar el repositorio GitHub para comenzar el desarrollo. Además, puede visitar la documentación y las [referencias] de la API]15 para obtener más información sobre Aspose.OMR for Java.
Hay ayuda disponible
Puedes compartir tus dudas o consultas en nuestro foro.
Preguntas frecuentes – FAQ
¿Podemos consultar la hoja OMR en línea?
Puede utilizar este lector de hojas OMR en línea para verificar las hojas de respuestas OMR.
¿Cómo leer una hoja OMR en Java?
Aspose.OMR for Java es una biblioteca OMR que ofrece funciones avanzadas para leer hojas de respuestas OMR de manera programática. Consulta este enlace para aprender a hacerlo.