2012-03-04 9 views
6

Sto cercando di trovare la dimensione di un'immagine che ho caricato in MATLAB.Dimensioni Matlab dell'immagine

image=imread('text.jpg'); 
[x,y]=size(image); 

questo ritorno l'errore:

Indexing cannot yield multiple results.

Vuol imread non legge l'immagine in una matrice 2D, che dovrebbe quindi avere due dimensioni?

+0

Il tuo codice mi sembra OK. Hai provato a usare, ad esempio, imfinfo per vedere cosa c'è nel file? –

risposta

9

È possibile che sia stata definita una variabile denominata size prima di questo codice?

+0

Sì, era così! Scusa per non aver individuato l'errore evidente! Grazie. – Joseph

3

È necessario utilizzare [height, width, colour_planes] = size(image); perché le immagini hanno 3 dimensioni. La terza dimensione è il numero di piani di colore. Se non hai bisogno di questo valore, puoi sostituire ~ per ignorarlo.

+0

qual è la 3a dimensione? – scord

+0

Il colore. La prima dimensione è i valori rossi, la seconda è la verdura e la terza è la blu – Alexander

-3

Si può provare questo:

image=imread('text.jpg'); 
[x y]=size(image); 
+2

In che modo è diverso dal codice nella domanda? – Daniel

1

basta usare questo whos e premere Invio.

image=imread('text.jpg'); 
whos 
13

Per coloro che cercano di trovare la dimensione di un'immagine in MATLAB, non utilizzare:

[height, width] = size(image); 

Questo è perché i negozi imread i valori RGB separatamente (per immagini a colori), con un conseguente matrice tridimensionale.

Ad esempio, se è stata caricata un'immagine a 500p di colore ampio di 200p, ciò comporterebbe una matrice 500x200x3.

Chiamare la dimensione() in questo modo comporterebbe la "dimensionamento" della dimensionalità e riporterebbe l'altezza a 500, ma la larghezza a 600 (200 * 3).

Invece, utilizzando:

[height, width, dim] = size(image); 

ritornerebbe valori corretti di 500, 200, 3.

1

[x, y, z] = dimensione (immagine); è quello corretto. x e y daranno lunghezza e ampiezza dell'immagine e z specificherà il colore.

L'immagine digitale è costituita da RGB, quindi z sarà 3.

Problemi correlati