LabVIEWForum.de
Binary Datei - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Binary Datei (/Thread-Binary-Datei)



Binary Datei - choibits - 11.11.2009 15:39

Hallo,

hoffentlich könnt ihr mir helfen.

Ich möchte ein Messdatei einlesen. Die Daten in der Messdatei sind im Binärformat gespeichert. In der Datei werden Bilder (640*512) gespeichert, d.h. jedes Pixel. Jeder Wert entspricht 2 Byte. Ein Bild ergibt also 640*512=327680 Pixel. Die Pixelwerte möchte ich in ein Array schreiben.
Das funktioniert auch so weit. Jedoch werden nicht 327680 Pixel ins Array geschrieben, sondern nur 32767. Woran liegt das? Vielleicht könnt ihr mir weiterhelfen.

Ziel des ganzen ist es, eine art betrachter zu erstellen, mit dem man jedes einzelne Bild anschauen kann.


Binary Datei - SeBa - 11.11.2009 15:55

ohne Kommentar:

[attachment=22428]

Gruß SeBa


Binary Datei - choibits - 11.11.2009 16:18

Schönen Dank für die Info. Aber das funktioniert auch nicht so recht. Wenn ich das in I32 entsprechend anpasse stimmen die Werte im Array ganz und garnet.


Binary Datei - SeBa - 11.11.2009 16:31

Ja stimmt, war ein Schnellschuss.. ich nehms zurück. Die Arrayelemente sind ja I16, nicht das Array (Größe) ansich.

Grübel...


Gruß SeBa


Binary Datei - SeBa - 11.11.2009 16:41

Hab doch Recht...

du sagst doch dem BinaryRead wieviele Zeilen es lesen soll... da ist auch ein kleiner roter Punkt...

DA !!! ist dein Datentyp I16 also max. 32767 ... du sagst also es soll 32767 Zeilen auslesen (falls vor der Umwandlung nach I16 mehr Zeilen waren, sind es nachher die max. größte Zahl für diesen Datentyp).

Änder das mal..

Gruß SeBa


Binary Datei - choibits - 11.11.2009 16:50

Hab in der Zwischenzeit doch des Rätselslösung gefunden (s. Anhang).

Hast du vlt nen Typ wie ich jetzt jedem Pixel ein x (0-639) und y (0-511) zuordnen kann? So lässt sich das Bild ja relativ schwer zeichen ;-))


Binary Datei - SeBa - 11.11.2009 17:33

Sag ich doch....



Und dann:

Der Index des Arrays ist doch x und y Koordinate des Pixels... was genau meinst du?

Gruß SeBa


Binary Datei - choibits - 12.11.2009 16:26

Die einzelnen eingelesenen Pixel sind in der BinaryDatei nacheinander geschrieben. D.h es gibt keinerlei Zuordnung wo sich das Pixel im Bild (640*512) befindet. Einzig und allein der wievielte eingelese Wert gibt darüber auskunft. Um das Bild zu zeichnen (mit grauwerten z.b.) muss ich doch irgendwie den Wert/pixelwert mit der Koordinate im Bild verknüpfen!?


Binary Datei - SeBa - 12.11.2009 16:51

Zeit um deine Bsp. Datei hochzuladen.

Und eine Beschreibung wie genau die Daten in deiner Datei liegen.
Und wieviele Bilder da drin sind.
Und ob es immer ganze Bilder sind, oder auch mal nur Teilbilder am Anfang/Ende der Datei.


Ansonsten musst du das Startpixel bestimmen und von da an y-mal x Pixel einlesen und in ein 2D Arr schreiben. Dann hast du deine Pixel sortiert und kannst dich ums Zeichnen kümmern.

Gruß SeBa


Binary Datei - jg - 12.11.2009 20:31

Wenn das erste Bild in der Datei bei Byte 0 anfängt, dann solltest du so das erste Bild auslesen können, inkl. Umformatierung in 2D-Array.

[attachment=22468]

Gruß, Jens