Verfasst am: 26.07.2015, 20:40
Titel: Bilder für kurze Zeit anzeigen
Hallo,
ich habe mich schon totgesucht und finde für mein Problem keine Lösung. Ich bin leider auch noch nicht sehr bewandert in MATLAB..
Ich möchte für ein Experiment Bilder für eine sehr kurze Zeit (ca. 10 bis 50ms) anzeigen und dann direkt von einem anderen Bild überlagern.
Da pause in dem Zeitbereich nicht mehr hilfreich ist, habe ich andere Möglichkeiten versucht, zb. einfach eine while-Schleife mit tic und toc oder über die Java sleep Funktion, aber dabei wird mir das Bild dann gar nicht mehr angezeigt. Das Programm wartet zwar das angegebene Intervall, überspringt das Bild aber vollkommen.
Kann mir irgendjemand erklären was ich falsch mache?
Oder hat jemand eine andere Idee?
Verfasst am: 26.07.2015, 22:24
Titel: Re: Bilder für kurze Zeit anzeigen
Hallo kritzlibear,
Zitat:
Ich möchte für ein Experiment Bilder für eine sehr kurze Zeit (ca. 10 bis 50ms) anzeigen und dann direkt von einem anderen Bild überlagern.
Auf welcher Art von Monitor möchtest Du das Bild anzeigen? Übliche LCDs laufen mit 60Hz, also ist weniger als 0.016s nicht machbar.
50ms ist ebenfalls noch ziemlich kurz und Matlab's GUI ist nicht für solche hochfrequenten Abläufe gedacht. Manchmal wird ein
drawnow
benötigt, um die Bildschirm-Anzeige upzudaten (das könnte auch in Deinem Fall das Problem sein), manche Updates geschehen aber auch erst nach einem
pause(0.02)
, ohne dass es dafür eine Erklärung gibt.
Zitat:
Da pause in dem Zeitbereich nicht mehr hilfreich ist, habe ich andere Möglichkeiten versucht, zb. einfach eine while-Schleife mit tic und toc oder über die Java sleep Funktion, aber dabei wird mir das Bild dann gar nicht mehr angezeigt.
Bitte erkläre nicht nur grob, was Du versucht hast, sondern poste den Code. Dann kann man es auch nachvollziehen.
Wenn das genaue Timing eine Rolle spielt, ist ein
clearall
bestimmt kontra-produktiv. Das löscht alle Funktionen aus dem RAM und ein erneutes Nachladen von der Festplatte bremst den Code massiv aus.
Ich verstehe nicht, was der gepostete Code genau macht im Zusammenhang mit der Frage. Kannst Du Dich auf den wesentlichen Teil konzentrieren?
Der Kommentar "genau das funktioniert nicht" ist nicht klar: Was genau funktioniert nicht? Ist das Problem vor oder nach dem Kommentar? Wo hast Du die Java-Sleep-Funktion versucht?
Ich vermute, Dir fehlt ein
drawnow
, um die Figure zu aktualisieren. Das Timing mit der Auflösung von 10ms wird aber eine ernste Schwierigkeit bleiben.
jaja, es ist bisher ein normaler LCD-Monitor. Ich probiere bisher auch erst aus, wie das Experiment aussehen könnte. Vermutlich steige ich später sowieso auf Java um.
16ms müssten auch ausreichen, das wird sich beim ausprobieren ergeben. Es geht eben darum, dass das Bild bewusst nicht mehr wahrgenommen wird.
Ich hab es jetzt mit drawnow versucht und es scheint zu funktionieren, vielen Dank also!
Liebe Grüße,
Sarah
PS: Entschuldigung, falls die Frage bzw der Code nicht ganz verständlich war.
Es geht eben darum, dass das Bild bewusst nicht mehr wahrgenommen wird.
Ich hab es jetzt mit drawnow versucht und es scheint zu funktionieren, vielen Dank also!
das lässt sich ja schwer sagen ohne hilfsmittel oder? also wenn du das optisch nicht wahrnehmen kannst kannst du ja auch nicht bestimmtheit sagen ob es da ist oder das programm es halt nicht mehr darstellt.
_________________
das lässt sich ja schwer sagen ohne hilfsmittel oder? also wenn du das optisch nicht wahrnehmen kannst kannst du ja auch nicht bestimmtheit sagen ob es da ist oder das programm es halt nicht mehr darstellt.
Ja das stimmt. Mein bisheriger Ansatz ist es, die Präsentationsdauer schrittweise zu verringern bis ich zu dem Punkt komme, wo es nicht mehr wahrzunehmen ist bzw. wenigstens nicht zu identifizieren.
Kann es denn passieren, dass MATLAB dann einfach gar nichts mehr anzeigt?
Kann es denn passieren, dass MATLAB dann einfach gar nichts mehr anzeigt?
das weis ich ehrlich gesagt nicht. darum frag ich nach.
hilfsmittel wäre halt eine highspeed kammera damit man sicher gehen kann
ich bin da nicht in der materie.
_________________
Das genaue Timing ist auch mit Java nicht trivial. LCDs haben verschiedene Einschwing-Zeiten, siehe Stichwort "Overdrive". D.h. der Monitor kann die Bilder mit einer Verzögerung darstellen, um Schlieren zu vermeiden. So etwas dürfte für Timer-gesteuerte Experimente sehr tückisch sein.
Viel Erfolg, Jan
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.