LabVIEWForum.de
Bilder aus Array in voller Größe speichern? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: Bilder aus Array in voller Größe speichern? (/Thread-Bilder-aus-Array-in-voller-Groesse-speichern)



Bilder aus Array in voller Größe speichern? - schroepel - 15.04.2008 15:10

Hallo erstmal,

wieder eimal habe ich ein Problem mit meiner Kamerasteuerung.
Ich nehme mit der Kamera eine Sequenz von fünf Bildern in Serie auf, lege diese in einem Array ab und zeige sie auf dem Bildschirm in der Auflösung 400x320 an.
Über eine Auswahl kann ich dann definieren welche Bilder abgespeichert werden sollen.
Da die Kamera aber eine Auflösung von 1208x0124 hat, möchte ich diese natürlich auch zum abspeichern auf der Festplatte nutzen.
Das Problem ist aber, wenn ich die Bilder aus dem angezeigten Array abspeichern will, haben diese ja nur die geringe Auflöung.
Um das Problem zu lösen, hab ich mir gedacht, dass ich jedes der Bilder in zwei verschiedenen Arrays ablege.
Das eine zum anzeigen und das andere zu abspeichern der Bilder.
Jetzt hab ich aber das Problem, dass ich irgendwie nur Bilder (Arrays) die angezeit werden auch abspeichern kann.
Denn wenn ich das Array mit den großen Bildern ausblende und dann auf speichern gehe, sind meine Bilder alle weiss.
Gibt es eine Möglichkeit die Bilder abzuspeichen ohne sie von einer Anzeige abhängig zu machen aber vorher trotztem in einem Array abzulegen?
[attachment=12007]
Außerdem habe ich das Problem, dass die Bilder alle als Graustufenbild angezeigt und abgespeichert werden sollen.
Bei der kleinen Anzeige funktioniert das auch wunderbar, dort kann man das ja auch definieren.
Aber die Großen Bilder ohne Videoanzeige sind nicht in Graustufen, sondern in Blaustufen.
Klingt zwar blöd, is aber so. Die Bilder sehen aus wie ein Graustufenbild das nachträglich mit Blau coloriert wurde.
Hat da irgendjemand ´ne Lösung für das Problem, ich kann mir das nähmlich nicht erklären,
zumal die Kamera auch keine Farben aufnehmen kann.

Gruß Marco


Bilder aus Array in voller Größe speichern? - Y-P - 15.04.2008 15:41

Anm.:
Bei dem Property-Node in der For-Schleife musst Du aufpassen, weil es da eine "Race Condition" geben kann!
Daher solltest Du immer den Error-Cluster durchverbinden oder es mit einer Sequenz machen.

Gruß Markus


Bilder aus Array in voller Größe speichern? - jg - 15.04.2008 20:20

1. Offenbar nimmst du mit deiner Kamera Graustufenbilder auf (zumindest habe ich das so aus deinen anderen Threads gezogen). Dann musst du natürlich bei der Umwandlung in ein LV-image per "Unflatten Pixmap" dein 2D-Array an den U8 Eingang anschließen. Außerdem musst du dann eine Graustufenskala (am einfachsten selber erzeugen) an den Eingang "colors" anschließen. Alles nachzulesen in der Hilfe zu diesem VI.

2. Wieso holst du du dir umständlich einen Screenshot vom dargestellten 2D-Array (ist "Video 2" ein Intensitätsgraph???). Du hast doch die vollen noch nicht reduzierten LV-image-Daten. Die stellst du einfach als Picture-Controls im FP dar. Zum Zoomen empfehle ich hierbei die PropertyNode "Zoom" des Picture-Control. Und die Image-Daten kannst du doch auch ganz einfach abspeichern. Wenn du mehr über die Zoom-Eigenschaften des Picture-Control wissen willst, dann such mal im NI-Examplefinder das Beispiel "Picture Control - Zoom Attribute.vi".

MfG, Jens


Bilder aus Array in voller Größe speichern? - schroepel - 16.04.2008 13:18

' schrieb:1. Offenbar nimmst du mit deiner Kamera Graustufenbilder auf (zumindest habe ich das so aus deinen anderen Threads gezogen). Dann musst du natürlich bei der Umwandlung in ein LV-image per "Unflatten Pixmap" dein 2D-Array an den U8 Eingang anschließen. Außerdem musst du dann eine Graustufenskala (am einfachsten selber erzeugen) an den Eingang "colors" anschließen. Alles nachzulesen in der Hilfe zu diesem VI.

2. Wieso holst du du dir umständlich einen Screenshot vom dargestellten 2D-Array (ist "Video 2" ein Intensitätsgraph???). Du hast doch die vollen noch nicht reduzierten LV-image-Daten. Die stellst du einfach als Picture-Controls im FP dar. Zum Zoomen empfehle ich hierbei die PropertyNode "Zoom" des Picture-Control. Und die Image-Daten kannst du doch auch ganz einfach abspeichern. Wenn du mehr über die Zoom-Eigenschaften des Picture-Control wissen willst, dann such mal im NI-Examplefinder das Beispiel "Picture Control - Zoom Attribute.vi".

MfG, Jens

Hallo Jens

vielen Dank erstmal für die Hilfe.
Zu 1.:
Das funktioniert jetzt, dank deines Hinweises auf die Graustufenskala. Hat mich aber auch erstmal einige Zeit gekostet bis ich rausgefunden habe wie man die erstellt. Da ich eben gerade mal seit ca. fünf Wochen mit LabVIEW arbeite und meine sonstigen Programmierkeinntnisse eher beschränkt sind dauert eben alles ein bischen länger.

Zu 2.:
Hier hab ich leider gar keine Ahnung wie du das meinst. Da ich sechs Bilder hintereinander in das Array lege und die dann auch alle anschauen möchte, muss ich das Array doch dann irgenwie aufspalten (1D-Array dezimieren) oder? Das Example, dass du mir empfohlen hast, hab ich mir angschaut, aber irgendwie komm ich damit nicht so recht klar.
Kannst du mir das bitte etwas näher erklären wie du 2. gemeint hast, damit ich´s als kleiner dummer Anfänger auch verstehe.


Gruß Marco


Bilder aus Array in voller Größe speichern? - jg - 16.04.2008 15:48

zu 2.: So:

[attachment=12035]

Was du da mit deinem Array-Dezimieren willst, verstehe ich nicht...

Einfach ein "Array of Picture" auf dem FP, und du kannst alle Bilder anschauen (entweder durchscrollen, oder du ziehst das Array auf, dann hast du 6 Bilder). Jetzt nur noch die Bild-Anzeige per PropertyNode skalieren, fertig... (und du skalierst hierbei nur die Anzeige des Bildes, die Bildpunkte sind weiterhin komplett vorhanden!).

MfG, Jens