Reconhecimento de texto para leitura de gráficos rasterizados
Geralmente, a visualização de um gráfico é salva como uma imagem rasterizada. A principal fonte desses gráficos são scanners ou documentos antigos. Para reconstruir um gráfico de resolução mais alta, deve-se converter o gráfico rasterizado em gráficos vetoriais. Este exemplo mostra como usar o processamento de imagem e o reconhecimento de texto para extrair os elementos de um gráfico, incluindo eixos, legenda de eixos e os intervalos de valores na direção horizontal e vertical.
Pegue uma imagem que contém um gráfico.
Reconheça todos as marcações e legendas e suas a localizações e armazene-os em uma associação.
Agora defina as funções de utilidade para selecionar legendas reconhecidas nas proximidades e agrupá-las com base em suas coordenadas x e y.
Isso nos permite agrupar os elementos reconhecidos em rótulos e marcações horizontais.
Descubra onde a gráfico está na imagem criando um retângulo usando as coordenadas mais altas dos eixos vertical e horizontal.
Destaque o gráfico na imagem.
Agora, vamos encontrar e analisar as marcações.
Usamos um pequeno utilitário para converter caracteres detectados como marcações em números e classificá-los.
Localize, reconheça e realce as legendas dos eixos.
Agora você está pronto para recriar o esqueleto do gráfico.
Na imagem original, a marca de 200 está um pouco deslocada do ponto zero no eixo horizontal. Se você descobrir quanto é o deslocamento, poderá replicá-lo no esqueleto do gráfico.
Primeiro, você precisa descobrir a que distância os marcadores horizontais estão colocados um do outro.
O cálculo da média das distâncias fornecerá a escala média de como os marcadores estão colocados.
Para calcular a escala com precisão, você precisa descobrir qual é a diferença média entre os valores que representam os marcadores horizontais.
A última coisa que você precisa descobrir é a distância do primeiro marcador horizontal do ponto de interseção dos eixos em pixels.
Finalmente, você pode encontrar o deslocamento necessário.
Agora, o gráfico terá a marcação 200 deslocada do ponto zero no eixo horizontal, como na imagem original.
Colocando tudo isso em uma função, você pode tentar reconhecer o esqueleto de outro gráfico.