Buonasera a tutti, vorrei analizzare su matlab due immagini diverse (non tutte, magari solo in un piccolo intervallo di righe e colonne) e verificare se tra le due immagini ci sono elementi simili (oppure stesso numero di pixel con lo stesso valore) qualcuno mi sa indicare un metodo efficace? Esisitono funzioni particolari o algoritmi già realizzati? altrimenti qualcuno mi può consigliare un Algoritmo da realizzare?
Grazie mille e Auguri a tutti.
Image Processing - Matlab
2 messaggi
• Pagina 1 di 1
1
voti
Una immagine in MATLAB la apri con la funzione imread.
Per esempio, se file.jpg è una immagine nella tua cartella:
che ritorna una matrice di dimensioni W (width) x H (height) x C (channels) già decodificata.
Le dimensioni le puoi verificare con la funzione size:
Il formato pixel è RGB planar, ció significa che i canali sono separati da un offset W x H (nel caso RGB), e comunque puoi ottenere i canali separatamente con:
Puoi trattare ogni canale come comuni matrici 2-D.
Rispondendo alla tua domanda:
Dipende un po' da cosa vuoi fare e come.
Se vuoi misurare la correlazione tra le due immagini puoi usare la funzione corr2, che ritorna il coefficiente di correlazione (occhio che MATLAB vuole che gli argomenti siano di dimensioni 2-D, Octave accetta anche che siano 3-D).
Se vuoi fare un confronto pixel a pixel devi scorrere le immagini con un ciclo, oppure sottrarle tra di loro etc.
MATLAB ha di tutto per il signal processing.

Per esempio, se file.jpg è una immagine nella tua cartella:
- Codice: Seleziona tutto
I = imread('file.jpg');
che ritorna una matrice di dimensioni W (width) x H (height) x C (channels) già decodificata.
Le dimensioni le puoi verificare con la funzione size:
- Codice: Seleziona tutto
size(I)
Il formato pixel è RGB planar, ció significa che i canali sono separati da un offset W x H (nel caso RGB), e comunque puoi ottenere i canali separatamente con:
- Codice: Seleziona tutto
cR = I(:,:,1);
cG = I(:,:,2);
cB = I(:,:,3);
Puoi trattare ogni canale come comuni matrici 2-D.
Rispondendo alla tua domanda:
Scib ha scritto:verificare se tra le due immagini ci sono elementi simili (oppure stesso numero di pixel con lo stesso valore) qualcuno mi sa indicare un metodo efficace? Esisitono funzioni particolari o algoritmi già realizzati?
Dipende un po' da cosa vuoi fare e come.
Se vuoi misurare la correlazione tra le due immagini puoi usare la funzione corr2, che ritorna il coefficiente di correlazione (occhio che MATLAB vuole che gli argomenti siano di dimensioni 2-D, Octave accetta anche che siano 3-D).
Se vuoi fare un confronto pixel a pixel devi scorrere le immagini con un ciclo, oppure sottrarle tra di loro etc.
MATLAB ha di tutto per il signal processing.

2 messaggi
• Pagina 1 di 1
Torna a Programmi applicativi: simulatori, CAD ed altro
Chi c’è in linea
Visitano il forum: Nessuno e 12 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

