-
Notifications
You must be signed in to change notification settings - Fork 0
/
grafica_indices2009.m
148 lines (142 loc) · 4.47 KB
/
grafica_indices2009.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
%pasar los índices de vegetacion a escala de grises, plotear cada uno en un
%subplot y guardar cada imagen
%Vamos a graficar 'IndiceVegetacion'
Nombre_Proceso='Prueba_Indices';
Carpeta_output='Output';
COD_SAT_IMG='LT52330762009315CUB01'
%obtengo los nombres de Indice de Vegetacion
lista=fieldnames(IndiceVegetacion);
[n m]=size(lista);
%n entrega la cantidad de elementos o nombres de lista
%revisar cuales son con valor '0' para omitir su gráfica.
IV=[];
Nombre_IV='';
j=1;
for i=1:n
Indice=getfield(IndiceVegetacion,lista{i,1});
[n_I m_I]=size(Indice);
Uno=any(Indice(:));
% if n_I<m_I
% V=Indice*Indice';
% else
% V=Indice'*Indice;
% end
% [L,U]=lu(V);
% Det_L(i)=det(L);
% Det_U(i)=det(U);
% if Det_L(i)!=0 || Det_L(i)!=0
if Uno==1
IV(:,:,j)=Indice;
Nombre_IV{j,1}=lista{i};
j=j+1;
end
end
%con esto, tenemos el set de indices que realmente se calcularon y se
%obtienen sus nombres para poder graficarlos con un subplot
%recurrimos nuevamente a obtener la cantidad de los nombre de indices
%recuperados
IndiceVegetacion=[];
[n m]=size(Nombre_IV)
%definir tamaño de subplot
fa=factor(n);
N=length(fa);
n_a=ceil(N/2);
%multiplicar de a a n_a
g1=prod(fa(1:n_a));
%multiplicar de n_a+1 a NN
g2=prod(fa(n_a+1:N));
%creamos figure
figure
scale=0.3;
for i=1:n
I(:,:,i)=mat2gray(IV(:,:,i),[min(min(IV(:,:,i))) max(max(IV(:,:,i)))]);
B(:,:,i) = imresize(I(:,:,i), scale);
subplot(g1,g2,i);
imshow(B(:,:,i));
title(Nombre_IV{i,1});
end
%Guardar, se hace separado para asegurar que se grafiquen las imagenes en
%primer lugar
%hora se procede a guardar cada set de imagenes como geotiff
for i=1:n
[I_16b,Map_16b]=gray2ind(I(:,:,i),65536);
savefile_TIF=strcat(Carpeta_output,'/',Nombre_Proceso,'/',COD_SAT_IMG,'_',Nombre_IV{i});
geotiffwrite(savefile_TIF,I_16b,INFO.nir,'GeoKeyDirectoryTag',UTM.geokey);
end
% I=mat2gray(Indice,[min(min(Indice)) max(max(Indice))]);
% [I_16b,Map_16b]=gray2ind(I,65536);
% savefile_TIF=strcat(Carpeta_output,'/',Nombre_Proceso,'/',COD_SAT_IMG,'_',INDICES{i},'.TIF');
% geotiffwrite(savefile_TIF,I_16b,INFO_x,'GeoKeyDirectoryTag',UTM.geokey);
% imwrite(I_16b,savefile_TIF,'tif');
% Info_tif=imfinfo(savefile_TIF);
% savefile_PNG=strcat(Carpeta_output,'/',Nombre_Proceso,'/',COD_SAT_IMG,'_',INDICES{i},'.PNG');
% imwrite(I_16b,savefile_PNG,'png');
% Info_png=imfinfo(savefile_PNG);'
%obtengo los nombres de Indice de Vegetacion
lista=fieldnames(IndiceVegetacion);
[n m]=size(lista);
%n entrega la cantidad de elementos o nombres de lista
%revisar cuales son con valor '0' para omitir su gráfica.
IV=[];
Nombre_IV='';
j=1;
for i=1:n
Indice=getfield(IndiceVegetacion,lista{i,1});
[n_I m_I]=size(Indice);
Uno=any(Indice(:));
% if n_I<m_I
% V=Indice*Indice';
% else
% V=Indice'*Indice;
% end
% [L,U]=lu(V);
% Det_L(i)=det(L);
% Det_U(i)=det(U);
% if Det_L(i)!=0 || Det_L(i)!=0
if Uno==1
IV(:,:,j)=Indice;
Nombre_IV{j,1}=lista{i};
j=j+1;
end
end
%con esto, tenemos el set de indices que realmente se calcularon y se
%obtienen sus nombres para poder graficarlos con un subplot
%recurrimos nuevamente a obtener la cantidad de los nombre de indices
%recuperados
IndiceVegetacion=[];
[n m]=size(Nombre_IV)
%definir tamaño de subplot
fa=factor(n);
N=length(fa);
n_a=ceil(N/2);
%multiplicar de a a n_a
g1=prod(fa(1:n_a));
%multiplicar de n_a+1 a NN
g2=prod(fa(n_a+1:N));
%creamos figure
figure
scale=0.3;
for i=1:n
I(:,:,i)=mat2gray(IV(:,:,i),[min(min(IV(:,:,i))) max(max(IV(:,:,i)))]);
B(:,:,i) = imresize(I(:,:,i), scale);
subplot(g1,g2,i);
imshow(B(:,:,i));
title(Nombre_IV{i,1});
end
%Guardar, se hace separado para asegurar que se grafiquen las imagenes en
%primer lugar
%hora se procede a guardar cada set de imagenes como geotiff
for i=1:n
[I_16b,Map_16b]=gray2ind(I(:,:,i),65536);
savefile_TIF=strcat(Carpeta_output,'/',Nombre_Proceso,'/',COD_SAT_IMG,'_',Nombre_IV{i});
geotiffwrite(savefile_TIF,I_16b,INFO.nir,'GeoKeyDirectoryTag',UTM.geokey);
end
% I=mat2gray(Indice,[min(min(Indice)) max(max(Indice))]);
% [I_16b,Map_16b]=gray2ind(I,65536);
% savefile_TIF=strcat(Carpeta_output,'/',Nombre_Proceso,'/',COD_SAT_IMG,'_',INDICES{i},'.TIF');
% geotiffwrite(savefile_TIF,I_16b,INFO_x,'GeoKeyDirectoryTag',UTM.geokey);
% imwrite(I_16b,savefile_TIF,'tif');
% Info_tif=imfinfo(savefile_TIF);
% savefile_PNG=strcat(Carpeta_output,'/',Nombre_Proceso,'/',COD_SAT_IMG,'_',INDICES{i},'.PNG');
% imwrite(I_16b,savefile_PNG,'png');
% Info_png=imfinfo(savefile_PNG);