Hallo miteinander,
meine Problemstellung:
Ich nehme 16 bit Grauwertbilder auf. Diese speichere ich in Binärdateien ab, um die gesamten Daten ohne Verluste (z.B. durch Kompression) zu sichern.
Das speichern der Bilder als Binärdatei klappt soweit auch ganz gut.
Allerdings möchte ich mir nachträglich die Binärdateien wieder als Bild ausgeben lassen. Hier fangen meine Probleme an.
Ich habe es so versucht, dass ich die Binärdatei auslese (VI "Read from Binary File") und den 1D-Array, den ich so erhalte in einen 2D-Array mit der Auflösung meines Bildes umzuwandeln (in diesem Fall 640x480). Wenn ich mir diesen 2D-Array dann aber mittels Intensitätsgraphen ausgeben lassen, kommt ein ziemlich chaotisches Bild bei rum, wie im Anhang zu sehen.
Meine Fragen dazu:
1) Mache ich evtl. bei der Speicherung der Binärdateien etwas falsch? Ich nutze das VI "Write to Binary File", welches als Daten ein Image von IMAQ bekommt. Die Binärdateien bekommen die Endung .bin .
2) Ist es falsch, das Bild mit dem Intensitätsgraphen darstellen zu wollen? Ich bin davon ausgegangen, dass es damit klappen müsste, da ich als x/y-Koordinate meine Pixel (= Einträge des 2D-Arrays) habe und als Intensitätswerte eben den jeweiligen 16 bit Wert.
Beim Auslesen der Binärdatei habe ich drauf geachtet, dass ich auch jeweils dieselbe Byte-Order angebe und habe da auch alles durchprobiert. Auch mit der Angabe der Auflösung habe ich getestet ob ich die Werte von 640 und 480 vertauscht habe.
Zum Anhang: Das Anzeigeelement Daten war nur, um zu schauen, was ich nach dem Auslesen der Binärdatei bekomme. Und der dargestellte Array im Frontpanel zeigt nur einen kleinen Ausschnitt der Daten.
Für Hilfe oder Denkanstöße wäre ich sehr dankbar.