Kann ich numerische Daten von einer Farbkarte erhalten?

7

In meiner Klasse muss ich oft mit Farbkartenbildern arbeiten. Ich würde das Bild zeigen und versuchen, Rückschlüsse / Beobachtungen zu verschiedenen Themen zu machen. Oft muss ich einige Aspekte tatsächlich quantifizieren, aber es ist immer sehr ungefähr und irgendwie vage, weil die Bilder "wie sie sind" bereitgestellt werden und ich ihren Inhalt nicht unbedingt a priori kenne.

Stellen wir uns vor, ich arbeite mit zwei Bildern (*). Ist es möglich, dem Computer anzuzeigen, dass er die Farbskalenleiste "lernt", damit ich auf einen beliebigen Punkt auf der Karte klicken und den Höhenwert an diesem Punkt abrufen kann? Bild 1 ist eine diskrete Farbskalenleiste, während Bild 2 eine kontinuierliche Farbzuordnung aufweist. Ich habe beide Beispiele aufgenommen, weil es möglicherweise Unterschiede in der Vorgehensweise gibt.

Gibt es eine Software / einen Weg, dies zu tun? Vorzugsweise Open Source. Ich habe ImageJ ausprobiert und konnte keine anständige Lösung finden.

Bild 1:

Bild 1

Bild 2:

Bild 2

Wie Sie sehen können, ist die Farbskala in allen Fällen Teil des Bildes.

(*) Ich besitze keines dieser Bilder, nur Beispiele, die ich online gefunden habe, um meinen Standpunkt zu veranschaulichen.

Terauser
quelle
In welchem ​​Format befinden sich die Daten? Wenn es sich um ein "echtes" PDF handelt, haben Sie möglicherweise Glück und können es leicht extrahieren.
El Burro
El Burro, was meinst du mit "Daten"? Die einzige Eingabe, die ich habe, ist das JPG-Bild. Es ist also kein PDF, weder real noch imaginär :)
Terauser
2
In Python können Sie ein JPG in ein Ndarray verwandeln. Sie könnten dann versuchen, die Werte von dort zu extrahieren.
El Burro
1
Um El Burro hinzuzufügen, denken Sie zuerst daran, den Text zu "malen" (weg zu interpolieren).
Emre
Vielen Dank. Ich hatte gehofft, dass es dafür fertige Software gibt. Ich weiß, dass es Programme gibt (und sie verwendet haben), um Diagramme zu digitalisieren (z. B. ein XY-Diagramm aus einem JPG): Sie klicken am Anfang und am Ende jeder Achse und geben die entsprechenden Werte ein. Dann klicken Sie auf jeden Datenpunkt und das Programm gibt Ihnen automatisch die X-, Y-Koordinate jedes Datenpunkts. Ich hatte gehofft, so etwas zu finden, macht es Sinn?
Terauser

Antworten:

1

Vielleicht können Sie eine Problemumgehung versuchen (zuerst manuell, dann programmgesteuert):

  1. In Graustufen konvertieren
  2. Dichtekarte erstellen (digital)
  3. Trace = vektorisiere das Bild mit einem beliebigen Inkscape / Illustrator / etc ...
  4. Kartenvektorteile mit Dichtekartenwerten.

Sie können ein JS-Skript für Adobe Illustrator (Gimp / wahrscheinlich auch) schreiben, um einige Dinge zu automatisieren. Ich schlage nicht vor, Geld auszugeben. Spielen Sie einfach mit der Demo herum, bis Sie die ideale Lösung gefunden haben .

Wahrscheinlich können Sie auch jede Online-API von Big4 oder neuen Emergern ausprobieren:

Es gibt auch einige Werbespots mit kostenlosen Optionen, z. B. imagga - "Kostenlos anmelden: Tag bis zu 2000 Bilder pro Monat"

Sie können die Desktop-Edition von DEMO Vector Magic ausprobieren. 295,00 USD / Lizenz Einmalige Gebühr ermöglicht Gruppenformen nach Farbe (leider keine Sonderpreise für akademische Einrichtungen oder gemeinnützige Organisationen)

Haben Sie auch FreeMat COLORMAP - Image Colormap Function ausprobiert?

AndriuZ
quelle
0

Sie können so etwas wie Farbauswahl verwenden , um die HTML-, RGB- oder HSV-Werte manuell zu finden.

Brian Spiering
quelle