Wolfram Language

La reconnaissance de texte pour lire des graphiques tramés

Souvent, la visualisation d'un tracé est sauvegardée sous forme d'une image tramée. La principale source de ces tracés sont les scanners, ou documents anciens. Pour reconstruire un tracé à plus haute résolution, il faut convertir le tracé tramé en graphiques vectoriels. Cet exemple illustre comment utiliser le traitement d'images et la reconnaissance de texte pour extraire les squelettes de tracés, y compris les axes, les étiquettes des axes et les plages de valeurs dans le sens horizontal et vertical.

Prenez une image qui contient un tracé.

Identifiez l'emplacement et la reconnaissance de tous les traits et les étiquettes et stockez-les dans une association.

Définissez maintenant les fonctions d'aide pour sélectionner les étiquettes reconnues à proximité et les regrouper en fonction de leurs coordonnées x et y.

Montrer l'entrée complète de Wolfram Language

Ceci nous permet de regrouper la reconnaissance en étiquettes et traits verticaux et horizontaux.

Recherchez l'emplacement du tracé sur l'image en créant un rectangle à l'aide des coordonnées les plus élevées sur l'axe vertical et l'axe horizontal.

Mettez en surbrillance les graphiques sur l'image.

Maintenant, nous cherchons à trouver et à analyser les traits.

Nous utilisons une petite fonction d'aide pour convertir les chaînes de caractères détectées comme traits en nombres et les trier.

Montrer l'entrée complète de Wolfram Language
Montrer l'entrée complète de Wolfram Language

Localisez, reconnaissez et mettez en évidence les étiquettes des axes.

Vous êtes maintenant prêt à recréer le squelette du tracé.

Sur l'image d'origine, le trait correspondant à 200 est légèrement décalé du point zéro sur l'axe horizontal. Si vous trouvez le décalage, vous pouvez le répliquer sur le squelette du tracé.

Tout d'abord, vous devez savoir à quelle distance l'un de l'autre les traits horizontaux sont placés.

En calculant la moyenne des distances, vous obtiendrez l'échelle moyenne du positionnement des traits.

Pour calculer l'échelle avec précision, vous devez connaître la différence moyenne entre les valeurs représentant les traits horizontaux.

La dernière chose que vous avez besoin de connaître, c'est la distance du premier trait horizontal par rapport au point d'intersection des axes, en pixels.

Vous pouvez enfin trouver le décalage souhaité.

Le tracé aura maintenant déplacé le trait du 200 par rapport au point zéro sur l'axe horizontal, comme sur l'image originale.

Montrer l'entrée complète de Wolfram Language

En regroupant tout cela en une fonction, vous pouvez essayer de reconnaître le squelette d'un autre tracé.

Exemples connexes

de en es ja ko pt-br zh