Ich verwende eine einfache for
Schleife, um eine große Menge von Bildern zu beschneiden und sie dann in einem Zellenfeld zu speichern. Ich erhalte ständig die Meldung:
Die Variable
croppedSag
scheint die Größe bei jeder Schleifeniteration zu ändern. Erwägen Sie eine Vorabzuweisung für mehr Geschwindigkeit.
Ich habe dies schon mehrmals bei der Programmierung in MATLAB erlebt. Ich habe es immer ignoriert und bin neugierig, wie sehr die Vorabzuweisung die Laufzeit verlängert, wenn ich, sagen wir, 10.000 Bilder oder eine größere Anzahl habe?
Außerdem habe ich in der Dokumentation über die Vorabzuweisung gelesen, und dort heißt es, man solle zeros()
zu diesem Zweck. Wie würde ich das für den unten stehenden Code verwenden?
croppedSag = {};
for i = 1:sagNum
croppedSag{end+1} = imcrop(SagArray{i},rect);
end
Ich habe die Beispiele in der Dokumentation nicht ganz nachvollziehen können.