Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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...
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?
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der 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
08.04.2015, 11:20 (Dieser Beitrag wurde zuletzt bearbeitet: 08.04.2015 11:21 von jg.)
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.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!