Matlab per elaborare immagini satellitari

CAR881
Buongiorno a tutti, questa è la prima volta che pongo un quesito.
Per la mia tesi ho bisogno di processare immagini satellitari a 32 bit che sono in formato .dat. Poichè devo processare circa 1500 immagini e poichè per processare "manualmente" ognuna di esse ci impiego circa 20 minuti, avevo pensato di implementare un piccolo programmino in Matlab. Per quanto riguarda l'input non ho problemi, il mio problema è l'output. Quando vado a salvare i file in formato .dat perchè mi servono così, perdo completamente la mia immagine. Vi scrivo il programma Matlab:
%Programma che permette di calcolare in modo
%automatico l'inice ALICE per ogni giorno dell'anno,
%per i canali di Modis 1 e 2 e sia per Aqua che per Terra.
%affinchè il programma funzioni correttamente è necessario che
%nella cartella dove esso è contenuto siano presenti i fondi,
%inoltre nella stessa cartella devono essere presenti due ulteriori
%cartelle: 'CH1': contiene le immagini della banda 1
%'CH2': contiene le immagini della banda 2.

%vengono lette le immagini relative alla media(o minimo) e allo scarto
%dopo la lettura è necessario modificare il sistema di riferimento
%flippando e ruotando l'immagine inserita
fid=fopen('T_m_01_12_01.out', 'r');
MEDIAAA=fread(fid,[500,641], 'float32');
MEDIAA=imrotate(MEDIAAA, 90, 'bilinear');
MEDIA=flipud(MEDIAA);
fid=fopen('T_s_01_12_01.out', 'r');
SCARTOOO=fread(fid,[500,641], 'float32');
SCARTOO=imrotate(SCARTOOO, 90,'bilinear');
SCARTO=flipud(SCARTOO);
%si costruisce la variabile 'd' che contiene il nome del contenuto
%della cartella 'CH1'
d=dir('CH1');
%'n' contiene il numero di elementi presenti nella cartella 'CH1'
n=length(d)
%si costruisce un ciclo for per leggere tutte le immagini della cartella
%per una convenzione di Matlab è necessario partire da 3
for c=3:n
%NOME1 contiene solo i nomi dei file salvati in 'd' e non
%le sue caratteristiche
NOME1=d(c).name;
%in NOME si mette il percorso del file da leggere
NOME=strcat('CH1','\',NOME1)
%si legge l'immagine e si fanno le operazioni
fid=fopen(NOME,'r')
IMMAGINEEE=fread(fid,[500,641], 'float32');
IMMAGINEE=imrotate(IMMAGINEEE,90,'bilinear');
IMMAGINE=flipud(IMMAGINEE);
%si calcola l'ALICE
ALICE=(IMMAGINE-MEDIA)./SCARTO;
figure, imshow(ALICE);
%si inserisce il nome dell'immagine
NOME2=strcat(NOME1(1:3),'-',NOME1(5:8),'-',NOME1(10:11),'-',NOME1(13:14),'-',NOME1(16:21),'-',NOME1(23:26),'-',NOME1(28:28),'-M');
title (NOME2)
save NOME1.dat A -ascii;
c=c+1;
end

Spero in un vostro aiuto, perchè ormai mi sono rassegnato al fatto di lavorare "a mano"
Carmine

Risposte
CAR881
ho risolto il problema

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.