Wolfram Language

Reconocimiento de texto para leer gráficos rasterizados

Frecuentemente una visualización de un gráfico se almacena como una imagen rasterizada. La fuente principal de estos gráficos son escáneres o documentos viejos. Con el fin de reconstruir un gráfico de alta resolución, uno debería convertir el gráfico rasterizado en gráficos de vector. Este ejemplo muestra cómo usar el procesamiento de imágenes y el reconocimiento de texto para extraer esqueletos de gráficos incluyendo ejes, etiquetas de ejes y los rangos de valores en las direcciones horizontal y vertical.

Tome una imagen que contenga un gráfico.

Reconozca la ubicación y reconocimiento de todos los marcadores y etiquetas y almacénelos en una asociación.

Ahora defina funciones utilitarias para seleccionar etiquetas reconocidas cercanas y agrúpelas con base en sus coordenadas x y y.

muestre la entrada completa de Wolfram Language

Esto nos permite agrupar el reconocimiento de marcadores y etiquetas verticales y horizontales.

Encuentre donde el gráfico está en la imagen creando un rectángulo usando las coordenadas más altas de los ejes vertical y horizontal.

Destaque el gráfico en la imagen.

Ahora queremos encontrar y segmentar los marcadores.

Usamos una utilidad pequeña para convertir las cadenas e caracteres detectadas como marcadores en números y ordenarlos.

muestre la entrada completa de Wolfram Language
muestre la entrada completa de Wolfram Language

Ubique, reconozca y destaque etiquetas de ejes.

Ahora está listo para recrear el esqueleto del gráfico.

En la imagen original el marcador para 200 se ha movido del punto cero en el eje horizontal. Si desea saber cuánto se movió, puede replicarlo en el esqueleto del gráfico.

Primero, necesita encontrar qué tan lejos están colocados los marcadores horizontales uno del otro.

Calcular la media de las distancias le dará la escala promedio de la colocación de los marcadores.

Para calcular la escala de forma precisa usted necesita encontrar cuál es la diferencia promedio entre los valores representados en los marcadores horizontales.

Lo último que necesita saber es la distancia del primer marcador horizontal desde el punto de intersección de los ejes en píxeles.

Finalmente, usted pueden encontrar el movimiento requerido.

Ahora el gráfico tiene el marcador de 200 desplazado del punto cero en el eje horizontal, como en la imagen original.

muestre la entrada completa de Wolfram Language

Colocando todo esto en una función, usted puede intentar reconocer el esqueleto de otro gráfico.

Ejemplos relacionados

de en fr ja ko pt-br zh