Ein wenig beachtetes, aber dennoch hilfreiches Tool der Matlab Software ist der Profiler (Desktop -> Profiler). Dieser erlaubt es, seinen Code auf zeitintensive Operationen hin, zu untersuchen.
In diesem Fall benötigt die Funktion mapfrom3Dto2D sagenhafte 11.5s Zeit, allerdings für insgesamt 8024 Aufrufe. Für detaillierte Untersuchungen kann man sich dann auch die einzelnen Zeiten innerhalb der Funktion anzeigen lassen.
Vom Profiler wird die Zeile mit der längsten Bearbeitungszeit markiert. In diesem Fall ist die Matrizenmultiplikation zur Umrechnung der Pixelkoordinaten aus 3D Koordinaten (Extrinsic Camera Calibration) die zeitaufwendigste Operation.
Hat jemand eine Idee, wie ich diese Operation schneller berechnet bekomme, ohne auf GPU oder ähnliches zu setzen?
Die Analyse lässt sich einfach durch Einfügen von
[matlab]
profile on
% your awesome code
profile viewer
[/matlab]
durchführen und darstellen.