LabVIEWForum.de - Fehlersuche im VI: Array mit Cluster+Image

LabVIEWForum.de

Normale Version: Fehlersuche im VI: Array mit Cluster+Image
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich bräuchte dringend Hilfe bei einem, wie ich vermute, einfachem Problem.
Ich habe in einem Array ein Cluster gelegt welches wieder ein Image beinhaltet.

Leider wird mir immernoch ein Fehler angezeigt obwohl ich der Meinung bin das es so stimmt. (ANHANG)
Ersetze ich das Image durch ein weiteres 2D- Array mit einem numerischen Element funktionert das VI.

Aber leider brauche ich das Image...

Kann mir bite jemand helfen?

B.A.
Hallo BA,

dein Indicator ist vom Typ Array[Cluster[Image]], du willst aber ein Array[Cluster[2D-Array of Integer]] anschließen...

Lösung: Indicator anpassen oder 2D-Array in Image umwandeln!
Danke für die schnelle Antwort!

Aber irgendwie steht ich auf dem Schlauch Blush
Wie soll ich den Indicator anpassen?
Hallo BA,

du willst ja eben nicht den Indicator anpassen - also musst du die Daten anpassen! Und das bedeutet: 2D-Array mit der passenden Funktion in ein Image umwandeln!
Ok,
ich hab es jetzt hinbekommen (oder auch nicht).
Hab IMAQ ArrayToImage eingebaut.
Das VI funktioniert jetzt zwar...aber mir wir trotzdem noch kein Bild
angezeigt. Aber das wird wohl eine andere Ursache haben.

Vielen Dank für die schnelle Hilfe!
Hallo BA,

mit IMAQ habe ich keine Erfahrungen, kann hier also nicht weiterhelfen.

Zu deiner Routine mit dem FileLesen: Bist du dir sicher, dass du jedes einzelne Byte auch wirklich einzeln einlesen musst? Könntest du nicht die gesamte Datei in einem Rutsch lesen und das erhaltene Byte-Array per ArrayReshape in die gewünschte 2D-Größe umformen?
Tja da bin ich mir leider nicht sicher.
Die Raw Datei besteht aus 320 hintereinanderliegender Bilder (8-bit)
die alle eine Auflösung von 1015x790 haben.

Zweck des Programms ist es alle Bilder hintereinader auszulesen um so den
entstandenen Stack durchklicken/durchfliegen zu können.

Da ich nicht genau weiß wie die raw Datei aufgebaut ist bezweifel ich das
ich sie mit Reshape wieder in die gewünsche Reihenfolge bekomme.

Wie hättest du es ohne IMAQ gemacht?
Hallo BA,

Zitat:Da ich nicht genau weiß wie die raw Datei aufgebaut ist bezweifel ich das ich sie mit Reshape wieder in die gewünsche Reihenfolge bekomme.
Aber du liest die Datei doch ein - d.h. du weißt also doch, wie sie aufgebaut ist Hmm
Immer schön 790 Byte hintereinander und das Ganze 1015mal, um ein Bild von 1015*790 Pixeln einzulesen. Kann man aber auch 1015*790 Byte einlesen und das 1D-Array dann in ein entpsrechendes 2D-Array umformen! Sind genau 801849 Dateilesezugriffe weniger pro Bild...

Ohne IMAQ hätte ich bestimmt den IntensityGraph gewählt, der kann 8bit-Daten prima darstellen und nimmt 2D-Arrays direkt an...
Also ich hab mal auf die schnelle ein IntensityGraph reingelegt.
Leider bekomm ich da ein weißes Bild mit vereinzelten blauen Punkten?

Nachdem ich jetztden Datentyp auf U8 geändert habe bekomme ich zumindest ein
schwarz-weißes Rauschen mit dem IMAQ...leider noch ein Stück entfernt von meinem Bild.

Ich hab die Vermutung das ReadFromBinaryFile alle Bildpunkt durcheinander wirbelt.
Hallo BA,

Zitat:Ich hab die Vermutung das ReadFromBinaryFile alle Bildpunkt durcheinander wirbelt.
Naja, der Fehler dürfte eher darin liegen, dass du den Aufbau des RAW-Files nicht kennst Smile (Das ReadFromFile liest immer schön ein Byte nach dem anderen...)

Zitat:weißes Bild mit vereinzelten blauen Punkten?
Das ist die Grundeinstellung des Graphs, man kann die Farbrampe aber auch anzeigen und ändern...

Zitat:schwarz-weißes Rauschen
Das spricht für boolsche Werte, die byteweise abgelegt wurden...
Seiten: 1 2
Referenz-URLs