WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

getframe mit parfor und worker / colorbar für imagescr

 

exnjoh

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2011, 23:20     Titel: getframe mit parfor und worker / colorbar für imagescr
  Antworten mit Zitat      
Hallo,

ich habe versucht ein Video zu erstellen. Dazu habe ich mit

getframe

mir jeweils ein Bild für das Video geholt. Das geht prima. Nur geht die Bilderstellung langsam (insbesondere die colorbar für imagescr dauert sehr lange).

Nun möchte ich das Video durch parallele Prozesse erstellen lassen. Das scheint mit getframe aber nicht zu gehen, da das figure bei getframe auch wirklich angezeigt werden muss. Bei einer Ausführung durch worker wird das figure ja aber nicht angezeigt und deshalb scheint dieser Weg nicht zu gehen.

Zitat:
Note In situations where MATLAB software is running on a virtual desktop that is not currently visible on your monitor, calls to getframe will complete, but will capture a region on your monitor that corresponds to the position occupied by the figure or axes on the hidden desktop. Therefore, make sure that the window to be captured by getframe exists on the currently active desktop.


Einen Lösungsansatz habe ich im Netz gefunden:

http://www.ccr.buffalo.edu/display/.....DCS%29Tutorial-Animations


Code:

 if labindex==1
            contour(AA)
            saveas(f1,'A.jpg') % save figure as image
            h1=imread('A.jpg'); % read figure as Matlab image
            writeVideo(vidObj,h1); % add image to video object
        end
 


Aber hier werden viele Dateizugriffe gemacht und das will ich ja garnicht. Ausserdem Schreibt hier auch nur ein Prozess.

Hat jemand für mich einen Lösungsansatz als Alternative für getframe?

Wie kann ich evtl. das Erstellen von colorbar beschleunigen, da dies scheinbar viel Zeit verbraucht?

Danke für Eure Hilfe

John


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 07.07.2011, 12:42     Titel:
  Antworten mit Zitat      
Hallo,

erzeugst Du mit imagesc das Bild immer neu? Und rufst dann den colorbar auf? Falls ja, kann man das ganze deutlich dadurch beschleunigen, dass man nur die Daten ändert, z.B.
Code:
x = imagesc(rand(200));
colorbar;
pause(5);
% and now to something completely different:
set(x, 'CData', 2*rand(200));
 


Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
exnjoh

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2011, 15:36     Titel:
  Antworten mit Zitat      
prima, Danke Titus.

Hat denn noch jemand eine Idee, wie ich getframe geschickt ersetze?

John
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.