LabVIEWForum.de - Speicher reservieren, mit IMAQ Create.vi?

LabVIEWForum.de

Normale Version: Speicher reservieren, mit IMAQ Create.vi?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Ich bin seid einigen Tagen am versuchen 2 Bilder per Labview zusammenzufügen. Ich nehme 2 Bilder, wandele diese in ein Array um, setze diese Arrays zusammen und wandle dieses Array zurück in ein Bild.
Das funktioniert auch soweit. Einziges Problem ist, dass manchmal jeweils das gleiche Bild zusammen gefügt wird. Dieser Fehler tritt jedoch sporadisch auf. Wird das Programm step by step ausgeführt, so funktioniert es immer. Per Sonden kann ich auch sehen, dass vom Vision Builder die richtigen Bilder in den Netzwerkvariablen geschrieben wurden.
(Dieses LabVIEW Programm wird vom Vision Builder aufgerufen, um die Bilder in den Variablen zusammenzufügen, und in eine dritte Variable zu schrieben. Aus Testzwecken wird das zusammengefügte Bild abgespeichert um die Ursache des fehlers besser nachvollziehen zu können.)
Da ich davon ausging, dass hier kein speicher reserviert wurde, habe ich jeweils ein IMAQ Create.vi benutzt und dieses dann mittels copy Funktion beschrieben, dies löst das Problem jedoch nicht. Wie kann man sicher stellen, dass immer die richtigen Bilder zusammengefügt werden?

Im Anhang befindet sich ein Projekt, welches das LabVIEW Programm enthält. Zudem ist ein Bild des Blockdiagramms zu sehen.
Kann es Probleme mit dem IMAQ disable.vi geben? ich habe in einem weiteren versuch den Eingang "All Images" auf true gesetzt...

Vielen Dank, mdu
Hallo, um das Problem vielleicht etwas genauer zu beschreiben habe ich hier nochmals 2 Bilder angeheftet, die dieses Problem genauer zeigen sollen...

Mit der Sonde 1 ist zu sehen, dass ein Bild mit einer höhe von 2000Pixeln geladen wurde, dieses soll in den reservierten Speicher geladen werden. und dann in ein Array umgewandelt werden. Hier ist jedoch liegt in Sonde 6 jetzt jedoch ein Bild mit einer Höhe von 200Pixeln an.

Genau das gleiche Bild, das in Sonde 2 Anliegt... wie kann das sein? dieses wird wiederum in einen reservierten speicher kopiert... siehe Sonde 7 wo es nun richtig gemacht wurde. hier liegt somit das gleiche Bild wie in Sonde6 an.

der rest funktioniert... Beide Arrays werden zusammengefügt und bilden ein neues Bild... jedoch nur von 400 Pixel höhe da 2 mal 200Px und nicht von 2200Px wie es sein sollte.

Hatte schon mal jemand ein ähnliches Problem, oder was könnte ich noch anderes versuchen?

Mfg, mdu
Bist du dir sicher, dass du im Aufrufer (also im Vision Builder) 2 unterschiedliche IMAQ-Bild-Referenzen für deine Bilder anlegst und somit auch 2 unterschiedliche Refnums in die Netzwerkvariablen schreibst? Auf Grund des Screenshots deiner Sonden würde ich nämlich sagen, die Refnums sind identisch...

Gruß, Jens
Hallo, vielen Dank für die schnelle Antwort.

Ich lade die Bilder innerhalb des Vision Builders in 2 unterschiedliche Netzwerkvariablen, die ich dann in LabVIEW aufrufe und wie oben beschrieben bearbeite...
Auf den Bildern kann man sehen, dass die "Werte" der Sonden 1 und 2 die gleichen sind, aber in der Sondenanzeige ist zu sehen dass 2 unterschiedliche Bilder enthalten sind.

Meistens sind die "Werte unterschiedlich" dann wird das Bild auch richtig zusammen gesetzt, jedoch tritt diese Situation sporadisch auf und ich verstehe nicht woher dies kommen kann.

Wie kann man denn im Aufrufer (also im Vision Builder) 2 unterschiedliche IMAQ-Bild-Referenzen festlegen?

Liebe Grüße, mdu
Da kann ich dir leider nicht weiterhelfen - bin keine Vision-Experte.

Ich weiß nur soviel: IMAQ-Bilder durchbrechen das Datenfluss-Prinzip von LabVIEW, da es sich hierbei um Referenzen zu Speicherbereichen handelt. Wenn man da nicht höllisch aufpasst, dann kann das genau zu den von dir beschriebenen Effekten führen. Bsp: Mit einer Kamera wird immer wieder ein Bild erfasst und immer an dieselbe IMAQ-Refnum "übergeben". Parallel wird das IMAQ-Bild weiterverarbeitet. Wenn während der Verarbeitung von der Kamera ein neues Bild in die IMAQ-Refnum geschrieben wird, dann liegen plötzlich mitten in der Verarbeitung andere Bilddaten vor. Confused

Gruß, Jens
Referenz-URLs