LabVIEWForum.de
Anzeige von Videobildern läuft nicht richtig - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: Anzeige von Videobildern läuft nicht richtig (/Thread-Anzeige-von-Videobildern-laeuft-nicht-richtig)



Anzeige von Videobildern läuft nicht richtig - kaiman - 09.03.2010 15:40

Hallo zusammen,

ich hab mal wieder ein kleines Problem mit der Anzeige von Viedeobildern.
Ich verwende eine analoge Kamera zusammen mit einem Framegrabber(mvDELTA) von Matrix Vision. Matrix Vision liefert zu dem Grabber auch die passenden VIs um die Bilder in LV rein zu kriegen. Klappt auch wunderbar. Ich will nun das Videosignal in acht Einzelbildern auf dem FP darstellen. D.h. das erste Bild(bei 25fps) soll im ersten Graph angezeigt werden, das zweite Bild im zweiten, ... , das achte im achten und das neunte wieder im ersten.
Vor jedem dieser acht Bilder wird eine Nachricht per serieller Schnittstelle verschickt. Um das zu machen habe ich mir für jedes Bild einen Case gebaut, der in Abhängigkeit von dem Schleifenindex geschaltet wird.
Das Problem bei der Geschichte ist, dass die Reihenfolge der Bilder nicht korrekt ist. Es sieht so aus, als ob alle Bilder "verschoben" wären, wobei einige auch noch den gleichen Inhalt haben. Für mich sieht das ganze irgendwie nach einem Laufzeitproblem aus, deswegen hab ich die Displays schon auf "synchronous" gestellt und eine Wartezeit in die Schleife gesetzt. Das Problem verschieb sich aber nur und wird nicht besser.
Ich häng das vi mal an und hoffe, dass damit jemand was anfangen und mir helfen kann. Es sind leider einige VIs drin, die von MV sind und nur dlls aufrufen.

Danke schon mal im vorraus!
Gruß, Kai

Lv71_img


Anzeige von Videobildern läuft nicht richtig - unicorn - 11.03.2010 13:17

[attachment=53549:bd001.PNG]Wozu wird denn etwas über die serielle Schnittstelle geschickt?

Ich kenne mich mit der Matroxkarte im Speziellen leider nicht aus.
Generell hätte ich in dem Programm eine While-Loop erwartet, die kontinuierlich Bilder erfasst. Mit jedem Schleifendurchlauf hätte ich das Bild auf einen Intensitygraph umgeleitet. Die Intensitygraphen hätte ich über ihre Refernzen angesprochen (Siehe Bild).

Auf keinen Fall solltest Du Code mehrfach kopieren. Das bereitet stets Problem, wenn etwas geändert werden soll. Man verliert viel zu schnell den Überblick. Für Dritte wird der Code unnötig unübersichtlich.

Muss Code wirklich mehrfach eingesetzt werden, so ist ein SubVI die Methode der Wahl.


Anzeige von Videobildern läuft nicht richtig - kaiman - 11.03.2010 14:55

Hallo Unicorn

Ich versteh nicht ganz was du meinst. Es befindet sich doch alles in einer while loop...?! Es wird also bei jedem Durchlauf ein Bild eingelesen.
Dass ich alles in eine Case-Struktur gepackt hab und für jedes der 8 Bilder eine eigene angelegt habe, hatte den Grund, dass ich probieren wollte, ob ich dadurch das Problem behoben kriege.
Was machst du da genau in dem Bild was du hochgeladen hast? Sind das Referenzen zu einzelnen Intensity Graphen?


Anzeige von Videobildern läuft nicht richtig - kaiman - 12.03.2010 10:13

So, verstanden hab ich's nun und auch schon implementiert. Es hat sich aber leider nichts an dem Problem geändert. Schade. Aber trotzdem danke für die Hilfe. Ich hab auch schon angefangen den kopierten Code Stück für Stück zu entfernen. Ich werde den Hinweis beherzigen.

Gruß, Kai


Anzeige von Videobildern läuft nicht richtig - unicorn - 16.03.2010 12:53

Das ganze klingt ein bischen nach einem Synchronisationsproblem: es sollen Daten angezeigt werden, die noch gar nicht ganz erfasst sind.

Kannst Du die Bilderfassung softwaremäßig triggern? Da könntest Du eine zeitgesteuerte Schleife verwenden, in der die Bilderfassung getriggert wird, gewartet wird bis die Bilddaten erfasst sind und dann die Bilddaten anzeigen.

Gibt es Beispielprogramme, die Du studieren könntest?