Graphvisualisierer wie Graphviz können eine formale Darstellung der Knoten und Kanten eines Graphen nehmen und daraus ein Bild erzeugen. Was ist ein Programm oder eine Programmierbibliothek, die das Gegenteil tun kann? das heißt, ein Bild eines Graphen erkennen und eine formale Darstellung erzeugen? Ich würde mich für eine Software zum Erkennen einer Bitmap interessieren sowie für den einfacheren Fall, einen Graphen aus einem SVG zu erkennen, der einer Standardstruktur folgt. In jedem Fall sind Einschränkungen für das Erscheinungsbild des Diagramms in Ordnung. Außerdem benötige ich nur die Extraktion von Knoten-und-Kanten-Beziehungen, nicht andere Dinge wie Textbeschriftungen von Knoten.
Dies kann mit OpenCV und benutzerdefiniertem Code in C oder Python erfolgen (dies ist keine sehr häufige Anforderung).
Die Antworten auf diese Frage leisten hervorragende Arbeit, um zu diskutieren, wie dies in C zu tun ist.
Für eine fertig gerollte Lösung möchten Sie vielleicht einen Blick auf NEFI werfen :
Mathematica hat eine eingebaute Funktion namens MorphologicalGraph .
Das kann auch die Open-Source-Bildanalysesoftware Fiji . Die groben Schritte sind:
Kodiologe
Szabolcs