Quando si indicizzano matrici in MATLAB, è possibile specificare solo la prima o l'ultima dimensione n e tutte le altre dimensioni "selezionate automaticamente"?Utilizzo di due punti per l'indicizzazione in matrici di dimensioni sconosciute
Ad esempio, sto scrivendo una funzione che prende in un'immagine, e la visualizza con imshow
, che può visualizzare immagini a colori a 3-D (es1024×768×3
) o una matrice monocromatica 2-D (es 1024x768).
La mia funzione non interessa il numero di canali di colore dell'immagine, imshow
si prenderà cura di ciò. Tutto quello che voglio fare è parametri passa per selezionare una singola regione:
imshow(frame(x1:x2, y1:y2, :))
Cosa ho messo al posto degli ultimi due punti per dire "comprendono tutte le altre dimensioni"?
L'ultimo colon non funziona? Solitamente si tratta della sintassi di Matlab per "tutti" – Schorsch
@Schorsch ha ragione: [Documentazione operatore colon] (http://www.mathworks.com/help/matlab/ref/colon.html) – Doresoom
No, perché ciò linearizzerà gli indici attraverso le restanti dimensioni. Per esempio. se il frame è a 5 dimensioni, questo darà un risultato 1-dimensionale, al contrario di 3-dimensionale come previsto. Suppongo che @sebf voglia preservare le dimensioni finali, nella loro struttura esistente? –