
Problema con un bucle
Publicado por David (7 intervenciones) el 10/09/2014 10:20:10
Buenos días, tengo un problema con un bucle.
Quiero calcular el área de distintos objetos, hasta aquí no hay ningún problema. El problema viene cuando quiero guardar los valores de esas áreas en una matriz para su posterior utilización, ya que me guarda en la matriz solo el área del último objeto analizado, es decir, si hay 100 objetos se me crea un vector de 1 fila y 100 columnas donde solo aparece el área del último objeto.
Este es el código que utilizo para la lectura de los archivos y el cálculo de las áreas:
direc='C:\Users\...\'
lista = dir([direc,'/*.tif']);
nf=length(lista);
names = cell(1,nf);
for i = 1:nf
names{i} = lista(i).name;
end
for i = 1:nf
A{i} = imread([direc,names{i}]);
end
area=[];
for i = 1:nf
namesarea{i}=lista(i).name;
her2bw=im2bw(A{1,nf});
her2bwi=~her2bw;
%her2bwi imagen blancanegra invertida de her2bw
area(i)=bwarea(her2bwi);
end
Quiero calcular el área de distintos objetos, hasta aquí no hay ningún problema. El problema viene cuando quiero guardar los valores de esas áreas en una matriz para su posterior utilización, ya que me guarda en la matriz solo el área del último objeto analizado, es decir, si hay 100 objetos se me crea un vector de 1 fila y 100 columnas donde solo aparece el área del último objeto.
Este es el código que utilizo para la lectura de los archivos y el cálculo de las áreas:
direc='C:\Users\...\'
lista = dir([direc,'/*.tif']);
nf=length(lista);
names = cell(1,nf);
for i = 1:nf
names{i} = lista(i).name;
end
for i = 1:nf
A{i} = imread([direc,names{i}]);
end
area=[];
for i = 1:nf
namesarea{i}=lista(i).name;
her2bw=im2bw(A{1,nf});
her2bwi=~her2bw;
%her2bwi imagen blancanegra invertida de her2bw
area(i)=bwarea(her2bwi);
end
Valora esta pregunta


0