Plotdigitalisierung - Scraping von Abtastwerten aus einem Bild eines Graphen

8

Dies ist nicht wirklich "OCR", da es keine Zeichen erkennt, aber es ist die gleiche Idee, die auf Kurven angewendet wird. Wer kennt eine Bildverarbeitungsbibliothek oder einen etablierten Algorithmus zum Abrufen der Werte aus einem (Raster-) Plotbild? Zum Beispiel ist es für mich in diesem Diagramm schwierig, exakte Werte mit meinen Augen zu lesen, weil zwischen den Gitternetzlinien solche Lücken bestehen:

alt text http://i35.tinypic.com/316airl.jpg

Ich kann eine gerade Kante oder was auch immer verwenden, aber es wird immer noch fehleranfällig sein. Es wäre großartig, wenn es Software gäbe, die nur einen Screenshot eines alten Graphen erstellen und automatisch in eine Tabelle von Werten oder eine Funktion umwandeln könnte, die abgefragt werden könnten.

Scheint "Kurvenerkennung" genannt zu werden? Könnte auch verwendet werden, um Daten aus den Kurven in wissenschaftlichen Arbeiten zu extrahieren, für die die zugrunde liegenden Daten nicht veröffentlicht wurden.

Und es ist in Ordnung, eine menschliche Anleitung zu haben. Es gibt keinen Grund, warum ein OCR die "100" nicht lesen und zum Beispiel mit der Linie abgleichen könnte, aber es ist in Ordnung, wenn ein Mensch den Linien numerische Werte gibt, nachdem die Maschine den Pfad der Kurve relativ zu den Gitterlinien extrahiert hat. Ich interessiere mich hauptsächlich für die Funktion, die Kurve relativ zum Gitter zu zeichnen, auch wenn das Gitter gekippt, rotiert oder in einem verzogenen Zustand verdreht ist nicht affine Art .

Aktualisierung:

Es gibt jetzt einen Wikipedia-Artikel namens Konvertieren von gescannten Diagrammen in Daten mit einer Reihe von Software in den Links. Auch einige Software auf alternativeto.net . Ich denke, die Theorie gehört jetzt zu Ссылка , während die Softwarelösungen zu Ссылка gehören ?

    
endolith 01.11.2009, 18:43
quelle

6 Antworten

5

Das ist extrem hart und fehleranfällig. (Wir machen so etwas in der Chemie, wo wir versuchen, Chemie zu analysieren.) Es hängt entscheidend von verschiedenen Parametern und Bedingungen ab.

  1. Ist das Bild eine Bitmap (nur Pixel) oder Vektoren (EMF, WMF, SVG, PS, PDF ...)? Vektoren sind erheblich besser als Pixel. Wir befassen uns mit Vektoren (einschließlich PDF), berühren aber keine Pixel. Einige unserer Kollaboratoren werden versuchen, Pixel zu verwenden, aber nur in relativ neuen Dokumenten.
  2. Wenn Sie mit Pixeln stecken, sind Ihre Bilder alle aus derselben Quelle? Wenn dies der Fall ist, haben Sie eine kleine Chance, die Zeichensatzinformationen zu extrahieren. Ich fürchte, dein Image ist so schlecht, dass es viel Arbeit erfordern würde. Wenn Sie jedoch die Schriftart ausarbeiten können, haben Sie die Möglichkeit, Text und Zahlen zu extrahieren, wenn alle Dokumente aus derselben Quelle stammen. Sie können Heuristiken (Regeln wie zB die Zahlen) oder maschinelles Lernen (eine Liste von Funktionen, über die die Methoden trainiert werden können) verwenden.
  3. Ihr Bild scheint gescannt worden zu sein (die Achsen sind verpixelt). Das macht es noch schlimmer. Was für das Auge eine gerade Linie ist, ist für eine Maschine schrecklich. Ist Ihr Bild auf der Seite verzerrt? Sie müssen es vielleicht verschieben.
  4. Wenn Sie ein Modell für die Linien und Kurven haben, können Sie die erwarteten Parameter in das Bild modellieren. Aber es ist nicht trivial.

Es tut mir leid, pessimistisch zu sein. Wenn Sie wirklich die Info wollen, dann kann es mit viel Investition oder Zusammenarbeit mit Gruppen gemacht werden, die so etwas tun.

    
peter.murray.rust 01.11.2009 19:35
quelle
3

google für "curve recognition software" schlägt Ссылка

vor     
anonymous 01.11.2009 22:54
quelle
3

Ссылка ist ein Programm zum Digitalisieren von Graphen.

    
chris 26.12.2010 19:31
quelle
2

Es gibt auch potrace , das verwandt ist, und diese Seite erwähnt wiederum andere Alternativen

    
pixelbeat 15.08.2010 00:31
quelle
1

Ich kenne keine Software, die das macht, was Sie fragen, aber wenn Sie nur ein paar Punkte bekommen, können Sie eine Art Regression verwenden, um die beste Funktion zu finden, die zu diesen Punkten passt. Dieser bestimmte Graph sieht wie eine Exponentialfunktion aus. Sie sollten also einen exponentiellen Regressionsrechner finden.

    
David Brown 01.11.2009 19:45
quelle
1

Ich benutze im2graph, um Grafikbilder in Daten zu konvertieren, also Zahlen. im2graph ist kostenlos und für Linux und Windows verfügbar. Sehr reibungslos und erfordert nur sehr wenig Aufwand, um Ergebnisse zu erzielen. Siehe Ссылка

    
im2graph 24.04.2015 04:38
quelle