LabVIEWForum.de
Videosteuerung mittels Slider - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: Videosteuerung mittels Slider (/Thread-Videosteuerung-mittels-Slider)



Videosteuerung mittels Slider - Duffy - 04.11.2009 00:50

Hallo,

eins vorweg, ich bin, was LabVIEW anbelangt, ein absoluter Neuling.

Nun zu meinem Problem. Ich habe ein vi erstellt, mit welchem ich die einzelnen frames eines videos einlese, die ich dann einer Kantendetektion mit diversen filtern unterziehe. Das Ergebnis wird dann parallel in 4 verschiedenen Fenstern ausgegeben, die zu- und wegschaltbar sind. Funktioniert soweit auch so, wie ich mir das vorstelle. Die für mich interessanten Teile der ca. 6 - 10min langen Videos befinden sich (meist, nicht immer) am Schluß. Da ich nun nie genau weiß, wo sich diese Stellen befinden, und ich nicht so lange warten will bis diese denn endlich kommen, dachte ich an einen Slider, mit dem ich im Video vor- und vor allem auch zuurückscrollen kann, ähnlich wie der des Media Players in Windows. Nun habe ich aber nur solche gefunden, die entweder Indikator sind ODER die ich zur Steuerung benutzen kann. Einen, der beides kann, wie im eben erwähnten Media Player, scheint's nicht zu geben, oder?

Zur Funktion des angehängten vi's: Beim Start wird ein Video (avi) eingelesen, die einzelnen Frames mittels individuell parametrierbarer Filter einer Kantendetektion unterzogen und das Original sowie die Ergebnisse der einzelnen Aktionen gleichzeitig in 4 verschiedenen Fenstern angezeigt. Diese liegen beim Programmstart übereinander, müssen also verschoben werden um sichtbar zu sein. Min den 4 On/Off-Buttons kann ich die Fenster ein- oder ausblenden, mit dem Pause-Button verbleibe ich beim aktuellen Frame. Im Pause-Modus kann ich die einzelnen Filterparameter verändern und sehe unmittelbar das Ergebnis. Die 4 Schieberegler beziehen sich auf die Parameter des Canny-Algorithmus', die voreingestellten Werte der beiden Matrizen sind die des Scharr-Operators in x- und y-Richtung, können aber auch beliebig verändert werden.

Wie gesagt, wichtig wäre für mich, daß ich (mittels slider oder ähnlichem) vor- und zurückscrollen kann, sowohl beim fortlaufenden Einlesen als auch im Pause-Modus.

[attachment=22176]Lv85_img

Gruß Dirk


Videosteuerung mittels Slider - cabua - 04.11.2009 10:45

Meinst Du sowas?
Lv86_img[attachment=22178]

1. Mittels Get Info Anzahl der Frames ausgelesen, die das Video besitzt
2. Slider Maximum Wert wird auf diese Anzahl gesetzt
3. EventCase wird ausgeführt sobald der Slider seinen Wert verrändert und erstellt ein entsprechend neues Bild


Gruß


Videosteuerung mittels Slider - b_laudrup - 04.11.2009 11:11

Ja Guten Abend..

Ich bin zwar au' n Grünschnabel aber ich habe da ne Kleinigkeit ausprobiert, die eine eventuelle Lösung sein könnte.
Du verbindest die Anzeige des Frame-Nrs. (u. A.) mit dem Schleifenzähler.
Trenne diese Verbindung und verbinde deine Elemente mit einem Integer-Regler statt dessen..
Hat bei mir soeben geklappt.. Ich konnte vor- und zurückspulen...

Du müsstest dann noch herausfinden bis wohin der Regler drehen darf.. Rufst z.B. über den Regler Frame 2013 auf, obwohl es nur 600 Frames gibt.. ergibt das n Fehler.. Logischerweise..

Und vielleicht noch ein Wiedergabegeschwiendigkeitregler damit du auch zeit hast hin- und her zu spulen.

Lass mich bitte wissen, ob es geklappt hat.


Videosteuerung mittels Slider - b_laudrup - 04.11.2009 11:43

Hier ist mal eine mögliche Ausführung.

Nach wie vor besteht das Problem der max. Frameanzahl.





VI mit V-Version 9.0 (32-bit) überarbeitet.[attachment=50367:8_5_video.vi]

Sorry Buddy 8.6 ist die niedrigste Version, die ich abspeichern kann, ohne das LV abschmiert..


Videosteuerung mittels Slider - Duffy - 05.11.2009 00:56

Hallo,

erstmal vielen Dank für eure Bemühungen. Leider kann ich die von euch erstellten vi's mit meiner Version (8.5.1) nicht öffnen. Gibt's denn keine Möglichkeit, die als 8.5er Version zu speichern? Will ungern eine aktuellere (unregistrierte) Version über meine registrierte ziehen...

So rein von dem was ich lese, scheint cabua's Lösungsvorschlag genau daß zu sein, wonach ich suche, hoff ich zumindest.

b_laudrup, ich versuche, deinen Lösungsvorschlag anhand der Bilder morgen (oder übermorgen, hab morgen 'nen strammen Tag), wenn ich dazu komme, in mein vi zu integrieren, heut abend isses mir zu spät Cool
Kann man nicht mit einer einfachen if-Abfrage testen, ob das Frame überhaupt existiert, und falls nicht, zum letzten springen?

Nochmals Vielen Dank!

Gruß Dirk


Videosteuerung mittels Slider - SeBa - 05.11.2009 08:10

Moin,

also ohne das VISION Toolkit zu besitzen sage ich mal... klar.

' schrieb:Kann man nicht mit einer einfachen if-Abfrage testen, ob das Frame überhaupt existiert, und falls nicht, zum letzten springen?

' schrieb:1. Mittels Get Info Anzahl der Frames ausgelesen, die das Video besitzt ... = max.Frame

Die Abfrage sollte aber in beide Richtungen aufgebaut werden.
So was in der Art:
min.Frame ist im Zweifelsfall 0 oder 1Wink
[code]If Frame > max.Frame Then


Videosteuerung mittels Slider - unicorn - 13.11.2009 13:11

Für das Überprüfen und automatische Runden, ob der Werte in einen vorgegebenen Wertebereich fällt gibt es auf der Comparison (Vergleiche) -Palette ein eigenes VI (muss geeignet konfiguriert werden).

Zweckmäßigerweise würde man die Slides über Eigenschaftsknoten (Property Nodes) im Programm so einstellen, dass der Maximalwert gleich der maximalen Bildanzahl ist.

Über eine Ereignisschleife kann man reagieren, wenn der Benutzer den Schieberegler verstellt. Will man andersherum den Schieberegler vom Programm aus auf einen bestimmten Wert setzen, so kann man das mit einer lokalen Variable oder dem Eigenschaftsknoten "Wert" (Value) machen. Benutzt man Value(signl.) so wird auch noch das entsprechende Ereignis in der Ereignisschleife ausgeführt.


Videosteuerung mittels Slider - gottfried - 14.11.2009 11:16

Spitze, genau das brauche ich auch

Danke

Gottfried


Videosteuerung mittels Slider - Duffy - 03.01.2010 23:53

Hallo,

ist zwar schon 'ne Weile her, aber möchte das Thema doch nochmal aufgreifen. Hab, mit Hilfe cabua's Vorlage, mir ein vi erstellt, das genau das macht was ich möchte. Das hier beigefügte gibt das Video bzw. dessen Frames lediglich wieder, ich hab das natürlich in mein vi eingebettet um die einzelnen Frames weiter zu verarbeiten. Die "mit_Stop"-Version beendet die Ausführung des vi's beim letzten Frame, die "ohne_Stop"-Version führt die while-Schleife beim Erreichen des letzten Frames immer mit diesem letzten Frame aus, man kann den Slider also wieder zurück ziehen, auch beendet er die Ausführung nicht, falls man den Slider ganz nach rechts gezogen hat.

Nochmals vielen Dank an alle!

Gruß Dirk