2017-02-26 3 views
-2
for i=1:length(blocks) 
    for j=1:length(blocks) 
     temp = blocks{i,j}; 
     s = regionprops(temp, 'Centroid'); 
     centroids= cat(1,s.Centroid); 
    end 
end 

Quand j'affiche « centroïdes » en dehors de ces pour les boucles il ne montre que les dernières valeurs d'itération, comment puis-je faire centroïdes maintenir toutes les itérations résultats en les ajoutant un par un.Comment mémoriser le résultat de regionprops comme aa matrice à l'aide pour la boucle

Exemple:

Titrage-1: 4, 2

Titrage-2: 6, 4

Titrage-3: 1, 3,2

Itration-4: 2, 2,5

Alors que le

centroids = 
[4 2; 
6 4; 
1 3.2; 
2 2.5]; 

Mais ce que je reçois comme résultat Seules les dernières valeurs d'itération 2,2.5; Comment puis-je conserver toutes les valeurs de toutes les itérations

Répondre

0

Vous pouvez concaténer centroids à la fin d'un tableau comme suit:

centroids_arr = []; %Initialize centroids array to empty array. 

for i=1:length(blocks) 
    for j=1:length(blocks) 
     temp = blocks{i,j}; 
     s = regionprops(temp, 'Centroid'); 
     centroids= cat(1,s.Centroid); 

     %Concatenate last value of centroids to the end of centroids_arr array (insert as new row to the bottom). 
     centroids_arr = [centroids_arr; centroids]; 
    end 
end