MATLAB: Extrahieren Sie mehrere Teile einer matrix ohne Verwendung von Schleifen

Ich habe eine riesige 2D-matrix-und das würde ich gerne extrahieren, 15 verschiedene 100x100 Teile aus ihm heraus. Ich habe zwei Vektoren x und y der linken oberen Indizes die Teile gespeichert werden. Ich habe verwendet, so etwas wie dieses:

result = cam1(x(1:end):(x(1:end)+99), y(1:end):(y(1:end)+99));

aber das Ergebnis ist einfach nur eine 100x100 matrix statt eines 15x100x100. Warum?

Ich weiß, es könnte leicht getan werden, mithilfe einer Schleife, aber wir sind nicht erlaubt die Verwendung von loops (es ist Teil einer image-processing-übung). Eine andere Möglichkeit wäre zu schreiben alle 15 Zeilen, aber das ist sowas von hässlich.

Haben Sie eine elegante Lösung? Danke.

InformationsquelleAutor | 2009-05-25
Schreibe einen Kommentar