INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Messungen per USB-Kamera aufnehmen und filmen



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!

31.08.2011, 11:39
Beitrag #1

ttdadp Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2010

2010
2008
DE


Deutschland
Messungen per USB-Kamera aufnehmen und filmen
Hallo und Mahlzeit,

mein Problem besteht darin, eine kontinuierliche Messung, die ich mit LabVIEW Lv10 durchführe, über eine USB-Kamera zu überwachen und während der Messung eine Viedoaufnahme zu starten und zu stoppen.
Ich untersuche in einer Black-Box thermodynamische Vorgänge kontinuierlich mittels eines LabVIEW Programms (Leider darf ich dieses aus Datenschutzgründen nicht hochladen). Wenn ich in dem Programm Messdaten aufnehme, speichert mir LabVIEW die Messdaten in ein Textfile. Jetzt sollen diese Vorgänge über eine USB-Kamera überwacht werden. Außerdem soll ein Video während der Messdauer aufgenommen werden.

Mein Problem besteht darin, dass ein Durchlauf der While-Schleife für die Messdatenüberwachung ca. 5 sec. lange dauert. Ich möchte aber ohne Verzögerung mit der Kamera überwachen können. Benötige ich also eine zweite While-Schleife?

Außerdem schaffe ich es nicht, dass ich ein Video zu einem beliebigen Zeitpunkt aufnehme und dann wieder stoppe. Mir gelingt es lediglich, wie im Anhang zu entnehmen, das Video von Anfang an mitlaufen zu lassen.

Mein letztes Problem besteht darin, dass die Videodateien nicht zu groß werden sollen. Ich habe versucht dies dadurch umzusetzen, dass ich immer nur alle 2 sec. ein "Videobild" aufnehme. Eine Messung dauert ca. 20 min., die zu einem Zeitraffervideo zusammengeschnitten werden sollen. Wenn man einfach die Frames-Per-Second hochschraubt, so wird das Video zwar kürzer, aber die Datei eben nicht kleiner (Es wird halt einfach schneller abgespielt). Ich würde nun gerne wissen, ob meine Lösung überhaupt Sinn macht oder ob ich das auch einfacher hinbekommen könnte (z.B. ohne Express-VI)?

Vielen Dank schon einmal und ich hoffe, dass mir jemand vielleicht einen Tipp geben kann. Das angehängte VI habe ich in der Version 8.5 abgespeichert, sodass es jeder öffnen kann.

Thomas


8.5 .vi  Beobachten und Filmen.vi (Größe: 110,34 KB / Downloads: 461)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
31.08.2011, 13:37
Beitrag #2

kaiman Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 146
Registriert seit: Dec 2008

7.1.1, 2011
2007
EN

28***
Deutschland
RE: Messungen per USB-Kamera aufnehmen und filmen
Moin,
ein AVI hab ich auch noch nicht aufgezeichnet, deswegen kann ich dir dabei auf die Schnelle nicht helfen.
Ich kann dir aber eine Möglichkeit sagen, wie du deine Aufnahme parallel ausführen kannst.
Du brauchst tatsächlich eine zweite while-Schleife, die zeitgleich mit deiner Mess-Schleife gestartet wird.
In dieser Schleife liegt eine Case-Struktur die im Aufnahme-Fall eine Weitere while-Schleife beinhaltet. In dieser Schleife liegt deine Eigentliche Aufnahme.
Um die parallele Schleife zu Steuern, würde ich Melder verwenden(sofern du nach Beendigung der Messung auch die Aufnahme beenden willst).
Anbei ein Screenshot von meiner Idee.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2011, 11:59
Beitrag #3

ttdadp Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2010

2010
2008
DE


Deutschland
RE: Messungen per USB-Kamera aufnehmen und filmen
Hallo,

vielen Dank für die schnelle Antwort!!
Einen Teil meiner Probleme konnte ich mit deinem Vorschlag lösen, nämlich, dass ich, während das Messprogramm läuft, eine Videoaufzeichnung starten und stoppen kann 2hands. (Siehe ahgehängtes VI)


8.5 .vi  Beobachten und Filmen 2.vi (Größe: 167,9 KB / Downloads: 454)


Ein weiteres Problem besteht darin, dass ich ein Video abspeichern will, dass möglichst wenig Speicherplatz benötigt. Das Video selbst soll im Zeitraffer aufgenommen werden, d.h. alle 2 Sekunden ein Bild. Wenn ich dies nun so programmiere, erhalte ich bei einer Auflösung von 320x240 Pixeln und einer Aufnahmedauer von 20min. eine Videodatei, die 300MB groß ist.
Zum Vergleich habe ich mit der Kamera-Software manuell alle 2 sekunden ein Foto (JPEG) gemacht und diese dann im Nachhinein zu einem Video verarbeitet. Das Ergebnis war eine Videodatei mit ca. 20MB Speicher! Zudem wurden die Fotos mit einer höheren Auflösung von 640x480 Pixeln aufgenommen! Wie ist das möglich?

Und kann mir einer einen Tipp geben, wie ich statt einer Videodatei eine Fotostrecke aufnehme? Wenn ich nämlich den Dateipfad angebe, verlangt LabVIEW von mir, dass dieser auf eine bereits bestehende jpeg Datei verweist. Wie kriege ich das hin, dass ich kontinuierlich Fotos abspeichere und diese mit einem fortlaufenden Dateinamen versehe?

Vielen Dank im Voraus!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.09.2011, 07:10
Beitrag #4

kaiman Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 146
Registriert seit: Dec 2008

7.1.1, 2011
2007
EN

28***
Deutschland
RE: Messungen per USB-Kamera aufnehmen und filmen
Moin,

warum Speicherst du das Video nicht in der gleichen Schleife wie du das Bild anzeigst? Bestimmt weil du keine Diashow in der Anzeige haben willst, richtig?! Ich würde es sonst auch mal mit dem Snap-VI für die Bilderfassung probieren.
Wenn du das Kamerabild einfach als Jpg speichern willst habe ich dir als Beispiel ein Screenshot angehängt. Ist eigentlich recht einfach, aber vllt. geht es noch direkter...
Viel Erfolg & Spaß damit.
   
P.S.: Das stellt das natürlich nur exemplarisch dar, du musst den Schleifeninhalt natürlich mit in die Schleife packen, in der du die Bilder(aktuell dein AVI) speicherst.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.09.2011, 14:24
Beitrag #5

ttdadp Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2010

2010
2008
DE


Deutschland
RE: Messungen per USB-Kamera aufnehmen und filmen
Hallo,

vielen Dank für deinen Tipp!

Genau, ich möchte zwar möglichst flüssig wiedergeben, aber aufzeichnen möchte ich nur alle 2 Sekunden. Deswegen die zwei Schleifen. Weiß nicht ob das noch einfacher geht...

Wenn ich das nach deinem Vorschlag aufbaue, habe ich zwei Probleme:
1. Meine Kamera liefert mir ein RGB U32 Bild. Ich nehme an, das sind dann 32bit. Um dieses Bild so abzuspeichern wie du vorschlägst, muss ich das umwandeln in Greyscale 8bit. Sonst bekomme ich einen Fehler, dass der Bildtyp nicht passt. Geht das trotzdem irgendwie, dass ich ein farbiges Bild bekomme?

2. Das VI ''JPEG-Datei schreiben'' bringt mir immer einen Fehler (siehe Screenshot). Den Dateipfad habe ich so einfach wie möglich gehalten, aber irgendwie meckert er da rum. Muss ich als Dateipfad eigentlich einen Pfad plus eine bestehende JPEG Datei auswählen, die dann überschrieben wird oder langt einfach ein leerer Ornder? Tut mir Leid, ich komme da nicht mehr weiter... Mach ich irgendwas komplett falsch?
   

Viele Grüße


8.5 .vi  Beobachten und Filmen 3.vi (Größe: 173,57 KB / Downloads: 299)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.09.2011, 15:52
Beitrag #6

kaiman Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 146
Registriert seit: Dec 2008

7.1.1, 2011
2007
EN

28***
Deutschland
RE: Messungen per USB-Kamera aufnehmen und filmen
Ok, dein Kamerabild ist also ein Farbbild...ergo musst du aus den Color Utilities das IMAQ ColorImageToArray verwenden, dann erhälts du ein 32bit Array. Dein VI funktioniert so wie du es hochgeladen hast also nicht.
Warum hast du das speichern der Bilder nicht so gelassen, wie ich es vorgeschlagen hab? Verwende doch weiterhin das BuildPath, damit sollte das funktionieren. Oberer Eingang bekommt dann den Pfad vom Speicherort und unten hängst du den Dateinamen an (z.B. Bild+Nr+.jpg). Damit müsste es gehen.
Hast du schonmal zum Speichern von Bildern das IMAQ WriteImage probiert? Ich hab's bisher noch nicht verwendet, würde ich aber mal probieren an deiner Stelle. Hab leider grad keine Zeit das selbst zu testen. Vllt. komm ich auch nochmal dazu dein ZeitrafferSpeichern zu testen.

Ich hoffe dir konnte wieder ein wenig weiter geholfen werden.

Gruß, Kai
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.09.2011, 16:05
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Messungen per USB-Kamera aufnehmen und filmen
Hallo tt,

Pfade sollte man schon korrekt bauen:
   

Und wenn man da eine Fehlermeldung bekommt, sollte man als erstes den benutzten Pfad überprüfen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.09.2011, 07:26 (Dieser Beitrag wurde zuletzt bearbeitet: 08.09.2011 08:21 von kaiman.)
Beitrag #8

kaiman Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 146
Registriert seit: Dec 2008

7.1.1, 2011
2007
EN

28***
Deutschland
RE: Messungen per USB-Kamera aufnehmen und filmen
Moin,
ich hab nochmal das WriteImage getestet. Ist sehr einfach! Mach das Speichern damit, dann sparst du dir die Rumkonvertiererei und Probleme mit den Datentypen/Farbformaten.

NACHTRAG:
Ich hab mich nochmal deiner Problematik auseinander gesetzt ein Bild alle paar Sekunden anzuzeigen/zu speichern.
Du kannst dir aus Timerwerten einen Trigger zusammenbauen, der Quasi alle x Sekunden auf TRUE springt. Ich hab dir mal ein Bild angehängt...
   
Ist mit Sicherheit keine besonders schöne Lösung, aber funktional ist sie (zumindest für die Anzeige).
Für dich relevant ist nur die Berechnung unten links in der Schleife. Das Schieberegister hab ich mit -1 initialisiert, damit das erste Bild auch aufgenommen wird. Der geneigte Leser wird jedoch feststellen, dass das völliger Blödsinn ist, da die -1 ja in U32 gewandelt wirdWacko. Somit wird doch nicht das erste Bild aufgezeichnet, was ja eigentlich auch blöd wäre, weil beim ersten Schleifendurchlauf (zumindest in meiner State Machine) noch kein Bild da ist...
Noch ein Fehler gefunden: GrößerGleich ist natürlich auch Quatsch...
Bin heut morgen noch nicht ganz auf der Höhe...Confused
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  TIFF Bilderserie aufnehmen Tho_Sifi 1 4.086 23.05.2014 10:35
Letzter Beitrag: b.p
  Bild aufnehmen und nun automatisch als Vorlage Rudib20 3 4.396 10.10.2011 15:29
Letzter Beitrag: gottfried
  Video aufnehmen und Speichern als AVI Praklv 3 7.421 29.04.2009 10:49
Letzter Beitrag: ImExPorty
  AVI aufnehmen Reinhold 1 3.586 08.07.2008 09:44
Letzter Beitrag: Abrax
  Video von Kamera aufnehmen Bob 2 6.817 24.07.2007 19:34
Letzter Beitrag: Bob
  Messungen mit Vision Assistant 8.0 jippii 5 5.555 08.11.2006 18:38
Letzter Beitrag: thomas.sandrisser

Gehe zu: