Hallo, ich habe hier ein Skript, um ein 4x4 Feld mit Bildern zu füllen. Es funktioniert alles auch wunderbar, nur das Skript brauch ganze 0,3sek um 16 4KB Bilder zu laden. Kann man das auch etwas beschleunigen? Die Axes Felder wurden vorher schon definiert.
Code:
%Die Schleife, um alle Kugeln (4x4) einzufärben
for ii=1:4 for jj=1:4
%Aktuelles Element wird aufgerufen
element = handles.(['po_axes' num2str(ii)num2str(jj)]);
%Tag wird zwischengespeichert
tag = get(element,'Tag');
%Der Platzhalter axes11, axes12, usw. wird ausgewählt
axes(element);
%Je nachdem, welche Zahl in der colorMatrix steht, wird ein anderes
%Bild geladen und mit einer ButtonDown Funktion versehen
element=image(imread([changeDataType(handles.colorMatrix(ii,jj)) '.png'],'png'), 'ButtonDownFcn', @ImageClickCallback);
axis off;
%Tag wieder neu setzen
set(element, 'Tag', tag);
end end
Der Profiler ist das Mittel der Wahl um herauszufinden, an welcher Stelle genau wieviel Rechenzeit benötigt wird.
Wenn IMREAD das Hauptproblem ist, liegt es wohl am Zugriff auf die Festplatte und am Matlab-Programm lässt sich da nichts machen.
Gruß, 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.