LabVIEWForum.de
IMAQ Bild von Festplatte laden und Spektrum erstellen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: IMAQ Bild von Festplatte laden und Spektrum erstellen (/Thread-IMAQ-Bild-von-Festplatte-laden-und-Spektrum-erstellen)



IMAQ Bild von Festplatte laden und Spektrum erstellen - ostone - 27.04.2015 12:41

Hallo,

ist es möglich im LabVIEW ein Bild von der Festplatte zu laden und davon ein Farb-Spektrum zu erstellen?

Das Element IMAQ_ReadFile fordert leider sowohl einen Pfad, als auch ein Image als Eingang. Aber dieses möchte ich ja eben erst von der Festplatte laden.

Alternativ gibt es noch den Block PNG_laden. Nur stimmt da der Datentyp nicht. Denn bei IMAQ_ColorLearn wird ein Image gefordert und PNG_laden gibt nur Bilddaten raus. Diese lassen sich dann zwar wieder mittels Pixmap_zeichnen zeichnen, aber dann ist der Datentyp am Ausgang halt Grafik.

Kann jemand helfen?

Danke im Voraus.


RE: IMAQ Bild von Festplatte laden und Spektrum erstellen - wladimir s - 27.04.2015 12:45

Mit IMAQ Create kannst du ein Image erzeugen, dass du für den Eingang von IMAQ Readfile verwenden kannst.


RE: IMAQ Bild von Festplatte laden und Spektrum erstellen - b.p - 27.04.2015 12:59

http://zone.ni.com/reference/en-XX/help/370281W-01/imaqvision/imaq_load_image_dialog/


RE: IMAQ Bild von Festplatte laden und Spektrum erstellen - jg - 27.04.2015 13:05

Alternativ: File Dialog


RE: IMAQ Bild von Festplatte laden und Spektrum erstellen - ostone - 27.04.2015 13:14

Achso. Also ist IMAQ Create erst einmal eine Art Variablendeklaration und IMAQ ReadFile weißt danach der Variablen einen Namen zu?


RE: IMAQ Bild von Festplatte laden und Spektrum erstellen - b.p - 27.04.2015 13:27

IMAQ Create erstellt erst mal eine Referenz auf den Image Datentyp. Der Datentyp beeinhaltet den Bild-Buffer selber, plus Border und Padding und noch ein bisschen Kram, der dich im Moment nicht interessiert. Mit IMAQ ReadFile liest du eine Datei ein. Dabei wird (wie bei jeder anderen Groessenaenderung einer Image-Referenz) der Buffer neu angelegt, und aus der Datei in den Buffer reingeschrieben. Danach interessiert dich die Datei nicht weiter, sondern du arbeitest mit dem Buffer, bzw der Referenz darauf.

Um auf deine Interpretation einzugehen: Dass Create eine Variablendeklaration ist, kann man in dem Sinne vielleicht so sehen (LabVIEW hat ja bekanntlich keine richtigen Variablen, aber fuer Referenzdatantypen ist das nahe). In C-Lingo wuerd ich sagen, du erstellst einen Pointer auf eine Struktur. ReadFile hat nix mit dem Namen zu tun. Das ist echtes Datenlesen, plus Memoryhandling im Hintergrund.


RE: IMAQ Bild von Festplatte laden und Spektrum erstellen - ostone - 27.04.2015 13:42

Gut. Dank für den Input. Nun funktioniert schon mal der Farb-Vergleich zwischen einem gespeicherten Referenzbild und einem live aufgenommenen Bild. Dann geht es morgen weiter.

Schon einmal vor ab... Um ein Bild zu speichern habe ich bisher immer einen konkreten Pfad angegeben, z.B. C:\Daten\Image1.jpeg.
Im späteren Programm soll allerdings das Template entweder live erzeugt und dann mit einer entsprechenden Produktbezeichnung gespeichert, oder aber aus dem Archiv geladen werden.
Danach soll dieses Template im Puffer bleiben und kontinuierlich mit Live-Bildern verglichen werden. (Der eigentliche Vergleich funktioniert ja jetzt. Big Grin) Von den Live-Bildern soll dann aber beispielsweise aller 15 min. auch ein Bild dauerhaft gespeichert werden und idealerweise die gleiche Produktbezeichnung+Zeitstempel bekommen. Nur kann ich dann keinen festen Pfad mehr vergeben, da der Zeitstempel ungewiss ist. Also der eigentliche Pfad kann bleiben, aber die Dateibezeichnung muss automatisch erzeugt werden.

Versteht man mein Feierabend-Kauderwelsch? Geht das?


RE: IMAQ Bild von Festplatte laden und Spektrum erstellen - wladimir s - 27.04.2015 13:47

Es geht mit Build Path (Pfad erstellen). Du gibst ein Verzeichnis vor und einen String für den Dateinamen. Und diesen String kannst du aus den Zeitstempeldaten zusammen bauen.


RE: IMAQ Bild von Festplatte laden und Spektrum erstellen - ostone - 28.04.2015 07:29

Okay. Klingt super. Werde ich ausprobieren.

Gibt es irgendwo ein Tutorium zum Erstellen von Benutzeroberflächen in LabVIEW?

Wie bereits beschrieben, muss der Operator zu Beginn auswählen, ob er ein Referenzbild von der Festplatte laden möchte, oder ein Bild als Referenz aufnimmt. Sprich entweder <-> oder. Beim Express-VI Eingabeaufforderung für Benutzer lassen sich aber immer mehrere Fälle gleichzeitig auswählen... Und auch im Weiteren hat das Prüfprogramm mehrere States, nämlich mindestens drei:

1) Referenzbild aufnehmen oder wählen
2) Live-Bild kontinuierlich aufnehmen
3) Vergleich von Referenz- mit Live-Bild und Auswertung, ggf. Alarm

Ich habe auch bereits versucht das bisherige Programm als User-specified LabVIEW VI im VisionBuilder for AI zum Laufen zu bringen, da kommt aber immer eine Fehlermeldung...

Hat jemand Erfahrungen damit?

Grüße.