Matlab - funcion imread

 
Vista:

funcion imread

Publicado por david (7 intervenciones) el 24/01/2012 14:03:14
hola, todo esto ocurrió cuando pase a borrar la función imread. desintalé matlab y lo volvi a instalar, pero no hay caso. hace poco mi programa corria a la perfección, pero de pronto cuando cambie la imagen ya no me pescó mas la función imread, no me reconoce ninguna imagen y me tira el siguiente error:

Error in ==> imread at 371
[format, fmt_s] = imftype(filename);

no lo entiendo, les mostrare el código aun k no puedan acceder a dichas imagenes.

clc
clear all
%____________________________________________________________
% lectura de imagen desde el computador.
xndvi=imread('C:\Users\emilia\Desktop\imagenes\Nueva carpeta (2)\NDVI.tif');
yts=imread('C:\Users\emilia\Desktop\imagenes\Nueva carpeta (2)\Ts_V_2011_97_.tif');
%____________________________________________________________
% matriz 'xndvi' transformada en vector 'NDVI'
NDVI=reshape(xndvi,1,[])';
%____________________________________________________________
% matriz 'yts' transformada en vector 'TS'
TS=reshape(yts,1,[])';
%--------------------&&&&&&&&&&&&&&&&&&&&&&&&------------------------------

%__________________________________________________________________________
%---------------------MATRIZ DATOS ORIGINALES------------------------------
MATRIZ_ORIGINAL=[NDVI TS];
n=length(NDVI);
%__________________________________________________________________________
%-----------------ORDENAMIENTO CRECIENTE DE BURBUJA------------------------
for i=1:n
for j=1:n-i
if NDVI(j)>NDVI(j+1) % si el dato anterior es mayor al que le sigue pasa
dato_mayor_1=NDVI(j); % guarda datos mayores al anterior en NDVI
dato_mayor_2=TS(j); % guarda datos mayores al anterior en TS
NDVI(j)=NDVI(j+1); % datos de NDVI iferiores en la comparación
TS(j)=TS(j+1); % datos de TS iferiores en la comparación
NDVI(j+1)=dato_mayor_1; % ordena de menor a mayor los datos de NDVI
TS(j+1)=dato_mayor_2; % ordena de menor a mayor los datos de TS
end
end
end

%__________________________________________________________________________
%-----------TABLA [NDVI ,TS] ORDENADA DE MENOR A MAYOR---------------------

A=[NDVI,TS] % Tabla o matriz con los datos de " NDVI y TS " ordenados de menor a mayor

%__________________________________________________________________________
%-----------------------SELECCIÓN DE DATOS---------------------------------
k=1;
i=1;
while i<=n-1
if A(i,1)==A(i+1,1) % compara el dato de la primera fila sólo en la primera columna, con las siguientes filas y verifica si son iguales o no
if A(i,2)<A(i+1,2) % compara el dato de la primera fila sólo en la segunda columna, con las siguientes filas y verifica si el de la siguiente fila es mayor que el anterior.
M(k,:)= A(i,:); % guarda las filas que cumplen con la condición
else
M(k,:)= A(i+1,:); % guarda los datos mas grandes
end
i=i+2;
k=k+1;
else
M(k,:)= A(i,:); % guarda los datos que no cumplen la condición
i=i+1;
k=k+1;
end
end

if A(end,1)~=A(end-1,1) % compara el ultimo valor con el datos anterior
M(end+1,:)= A(end,:); % guarda la fila y columna de los datos que no cumplen la condición
end

%__________________________________________________________________________
%----------------------------RESULTADO-------------------------------------

MATRIZ_ORDENADA_CRECIENTE=A;
DATOS_INFERIORES=M;
MATRIZ_ORDENADA_CRECIENTE; % muestra por pantalla la matriz MATRIZ ORDENADA
fprintf('\n__________________________________\n')
DATOS_INFERIORES % muestra por pantalla la matriz DATOS INFERIORES

%__________________________________________________________________________
%-----------------ORDENAMIENTO DECRECIENTE DE BURBUJA----------------------

for i=1:n
for j=1:n-i
if NDVI(j)<NDVI(j+1) % si el dato anterior es mayor al que le sigue pasa
dato_mayor_3=NDVI(j); % guarda datos mayores al anterior en NDVI
dato_mayor_4=TS(j); % guarda datos mayores al anterior en TS
NDVI(j)=NDVI(j+1); % datos de NDVI iferiores en la comparación
TS(j)=TS(j+1); % datos de TS iferiores en la comparación
NDVI(j+1)=dato_mayor_3; % ordena de menor a mayor los datos de NDVI
TS(j+1)=dato_mayor_4; % ordena de menor a mayor los datos de TS
end
end
end

%__________________________________________________________________________
%-----------TABLA [NDVI ,TS] ORDENADA DE MENOR A MAYOR---------------------

C=[NDVI,TS]; % Tabla o matriz con los datos de " NDVI y TS " ordenados de menor a mayor

%__________________________________________________________________________
%-----------------------SELECCIÓN DE DATOS---------------------------------
k=1;
i=1;
while i<=n-1
if C(i,1)==C(i+1,1) % compara el dato de la primera fila sólo en la primera columna, con las siguientes filas y verifica si son iguales o no
if C(i,2)>C(i+1,2) % compara el dato de la primera fila sólo en la segunda columna, con las siguientes filas y verifica si el de la siguiente fila es mayor que el anterior.
P(k,:)= C(i,:); % guarda las filas que cumplen con la condición
else
P(k,:)= C(i+1,:); % guarda los datos mas grandes
end
i=i+2;
k=k+1;
else
P(k,:)= C(i,:); % guarda los datos que no cumplen la condición
i=i+1;
k=k+1;
end
end

if C(end,1)~=C(end-1,1) % compara el ultimo valor con el datos anterior
P(end+1,:)= C(end,:); % guarda la fila y columna de los datos que no cumplen la condición
end

%__________________________________________________________________________
%----------------------------RESULTADO-------------------------------------

MATRIZ_ORDENADA_DECRECIENTE=C;
DATOS_SUPERIORES=P;
MATRIZ_ORDENADA_DECRECIENTE; % muestra por pantalla la matriz MATRIZ ORDENADA
fprintf('\n__________________________________\n')
DATOS_SUPERIORES % muestra por pantalla la matriz DATOS INFERIORES

%__________________________________________________________________________
%-----------------------REGRESION MINIMOS----------------------------------
X_NDVI_1=DATOS_INFERIORES(:,1);
Y_TS_MINIMOS=DATOS_INFERIORES(:,2);
REGRESION_1=polyfit(X_NDVI_1,Y_TS_MINIMOS,1);
fprintf('__________________________________\n')
fprintf('\n REGRESION #1 DATOS INFERIORES\n')
fprintf('\n TS=%6.3f*NDVI+%7.3f\n',REGRESION_1(:,1), REGRESION_1(:,2))
%__________________________________________________________________________
%-----------------------REGRESION MAXIMOS----------------------------------
X_NDVI_2=DATOS_SUPERIORES(:,1);
Y_TS_MAXIMOS=DATOS_SUPERIORES(:,2);
REGRESION_2=polyfit(X_NDVI_2,Y_TS_MAXIMOS,1);
fprintf('__________________________________\n')
fprintf('\n REGRESION #2 DATOS SUPERIORES\n')
fprintf('\n TS=%6.3f*NDVI+%7.3f\n',REGRESION_2(:,1), REGRESION_2(:,2))
fprintf('__________________________________\n')
%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
%-------------------------GRÁFICA MINIMOS----------------------------------

b=[0:0.1:1];
Xim=[b];
y=REGRESION_1(:,1).*Xim+REGRESION_1(:,2);
yy=REGRESION_2(:,1).*Xim+REGRESION_2(:,2);

%--------------------------------------------------------------------------
%--------------------------------------------------------------------------

figure

plot(xndvi, yts, '+b')
set(gca, 'XLim', [0 1], 'XTick', 0:0.2:1,...
'YLim', [0 50], 'YTick', 0:10:50);
axis square
% Gráfica de dispersión.

hold on
plot(Xim, y)

hold on
plot(Xim,yy)

%titulo de la grafica
title('Figura 1. Índice de vegetación de diferencia normalizad (NDVI), en funcion de la temperatura superficial (TS)') %titulo de la grafica
xlabel('NDVI ')
ylabel('TS ')

por favor, necesito ayuda...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder