Extracción de Datos de Imágenes en Java

Visión General

El reconocimiento de marcas ópticas (OMR) es un proceso electrónico que facilita la lectura y captura de datos marcados por personas en formularios de documentos diseñados especialmente, como pruebas o encuestas, que incluyen entradas de burbujas o cuadros llenos por los usuarios. Al utilizar la extracción de datos de imágenes en Java, podemos manejar eficientemente imágenes escaneadas de estos formularios de encuesta, cuestionarios o hojas de prueba, lo que permite leer las entradas de los usuarios programáticamente. Este artículo te guiará sobre cómo realizar OMR y extraer datos de imágenes utilizando Java.

Los siguientes temas se cubrirán en este artículo:

  1. API de Java OMR para Extraer Datos de Imágenes
  2. Extracción de Datos de Imágenes en Java
  3. Realizar OMR y Extraer Datos de Múltiples Imágenes
  4. Extraer Datos de OMR con Umbral
  5. Extraer Datos de OMR con Recalibración

API de Java OMR para Extraer Datos de Imágenes

Para realizar operaciones de OMR y la extracción de datos de imágenes en Java, utilizaremos la API Aspose.OMR para Java. Esta poderosa herramienta permite diseñar, crear y reconocer hojas de respuestas, pruebas, documentos de opción múltiple, cuestionarios, formularios de retroalimentación, encuestas y boletas.

La clase OmrEngine dentro de la API es responsable de crear plantillas y procesar imágenes. Su método getTemplateProcessor(String templatePath) inicializa una instancia de TemplateProcessor adaptada para manejar plantillas e imágenes. Para reconocer una imagen, se puede utilizar el método recognizeImage(String imagePath), que devuelve todos los elementos de OMR como una instancia de la clase RecognitionResult. Usando el método getCsv(), puedes generar una cadena CSV que contiene los resultados del reconocimiento. Además, el método recalculate(RecognitionResult result, int recognitionThreshold) refina los resultados del reconocimiento con parámetros personalizados.

Por favor, descarga el JAR de la API o añade la siguiente configuración pom.xml en una aplicación Java basada en 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>

Extracción de Datos de Imágenes en Java

Para llevar a cabo una operación de OMR, necesitamos el archivo de plantilla OMR preparado (.omr) y la imagen de los formularios o hojas llenas por el usuario. El proceso de extracción de datos de imágenes en Java, específicamente utilizando operaciones de OMR, implica los siguientes pasos:

  1. Primero, crea una instancia de la clase OmrEngine.
  2. A continuación, llama al método getTemplateProcessor() e inicializa un objeto de la clase TemplateProcessor, pasando la ruta del archivo de plantilla OMR como argumento.
  3. Luego, obtén el objeto RecognitionResult llamando al método recognizeImage() con la ruta de la imagen como argumento.
  4. Después, obtén los resultados del reconocimiento como cadenas CSV utilizando el método getCsv().
  5. Finalmente, guarda el resultado CSV como un archivo CSV en el disco local.

El siguiente ejemplo de código demuestra cómo realizar la extracción de datos de imágenes en Java convirtiendo los datos de OMR en formato CSV.

Extraer-Datos-de-un-Imagen-en-Java

Realizar OMR y Extraer Datos de una imagen en Java.

Por favor, descarga la plantilla OMR utilizada en esta publicación del blog.

Realizar OMR y Extraer Datos de Múltiples Imágenes

Podemos realizar operaciones de OMR en múltiples imágenes y extraer datos en un archivo CSV separado para cada una, utilizando los pasos mencionados anteriormente. Para lograr la extracción de datos de imágenes en Java, es necesario repetir los pasos 3, 4 y 5 para todas las imágenes individualmente.

A continuación, se presenta un ejemplo de código que demuestra cómo extraer datos de OMR de múltiples imágenes utilizando Java.

. La lista de datos, ya sea con viñetas o numerada, debe permanecer completamente sin cambios.

Extraer Datos de OMR con Umbral en Java

Para realizar operaciones de Reconocimiento de Marcas Ópticas (OMR) en Java, utilizamos un valor de umbral entre 0 y 100 basado en requisitos específicos. Este valor de umbral, utilizado en la extracción de datos de imágenes en Java, dicta cuán estricto será la API al resaltar respuestas; un valor más alto aumenta la rigurosidad. Seguir los pasos mencionados anteriormente es esencial para el procesamiento de OMR con el umbral elegido. Específicamente, dentro del paso #3, se debe llamar al método recognizeImage(string, int32). Este método sobrecargado requiere la ruta del archivo de imagen y el valor de umbral deseado como sus parámetros.

El siguiente ejemplo de código demuestra cómo realizar OMR con un valor de umbral utilizando Java:

Extraer Datos de OMR con Recalibración en Java

Al tratar con la extracción de datos de imágenes en Java de manera precisa, especialmente en lo que respecta a OMR, puede haber necesidad de recalcular los resultados utilizando diferentes valores de umbral. Al configurar la API, la recalibración se puede automatizar a través del método TemplateProcessor.recalculate(). Este enfoque permite múltiples iteraciones de procesamiento de imágenes ajustando el umbral hasta que se logre el resultado deseado. Para realizar con éxito la operación de OMR con recalibración, sigue los pasos a continuación:

  1. Primero, crea una instancia de la clase OmrEngine.
  2. A continuación, llama al método getTemplateProcessor() e inicializa un objeto de la clase TemplateProcessor. Toma la ruta del archivo de plantilla OMR como argumento.
  3. Luego, obtén el objeto RecognitionResult llamando al método recognizeImage() con la ruta de la imagen como argumento.
  4. A continuación, exporta los resultados del reconocimiento como una cadena CSV utilizando el método getCsv().
  5. Luego, guarda el resultado CSV como un archivo CSV en el disco local.
  6. A continuación, llama al método recalculate(). Toma el objeto RecognitionResult y el valor de umbral como argumentos.
  7. Después de eso, exporta los resultados del reconocimiento como una cadena CSV utilizando el método getCsv().
  8. Finalmente, guarda el resultado CSV como un archivo CSV en el disco local.

El siguiente ejemplo de código demuestra cómo realizar OMR con el método de recalibración utilizando Java:

.

Obtener una Licencia Gratuita

Tienes la oportunidad de obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación. Esta es una excelente manera de explorar características como la extracción de datos de imágenes en Java, permitiéndote evaluar completamente sus capacidades. La lista de datos a continuación permanece sin cambios para tu referencia:

  1. La biblioteca funciona de manera eficiente con grandes volúmenes de datos.
  2. La integración con sistemas existentes es fluida.
  3. Los datos extraídos son altamente precisos y confiables.
  4. Los pasos de instalación son sencillos y están bien documentados.

Conclusión

En este artículo, hemos aprendido cómo:

  • realizar operaciones de OMR en imágenes;
  • extraer datos en formato CSV programáticamente;
  • aplicar la configuración del umbral al realizar OMR en imágenes;
  • recalcular resultados de OMR en un proceso automatizado utilizando Java.

Además, al tratar con la extracción de datos de imágenes en Java, puedes explorar más sobre la API Aspose.OMR para Java revisando la documentación. Si encuentras algún problema, no dudes en contactarnos en nuestro foro de soporte gratuito.

Ver También