For loop for function values
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hey everyone,
I've been trying to improve my coding lately with for loops, but I'm sturggling to figure this one out.
Here's the original code. BW2_BW refers to an image and the row's all refer to image coordinates.
R1 = imcrop(BW2_BW, [row_1]);
R2 = imcrop(BW2_BW, [row_2]);
R3 = imcrop(BW2_BW, [row_3]);
R4 = imcrop(BW2_BW, [row_4]);
R5 = imcrop(BW2_BW, [row_5]);
stats_BW_R1 = regionprops(R1,'Centroid');
stats_BW_R2 = regionprops(R2,'Centroid');
stats_BW_R3 = regionprops(R3,'Centroid');
stats_BW_R4 = regionprops(R4,'Centroid');
stats_BW_R5 = regionprops(R5,'Centroid');
This is what I'm trying to do:
for k = 1:5
stats_BW_R(k) = regionprops(R(k),'Centroid');
end
I basically want k to replicate values 1:5 to replace what my original code did. What am I doing wrong?
Thanks!
1 commentaire
Stephen23
le 4 Juin 2020
"What am I doing wrong?"
Numbering some variables and then trying to access the variable names dynamically.
Réponse acceptée
madhan ravi
le 4 Juin 2020
stats_BW_R = cell(1,5);
for k = 1:5
R = imcrop(BW2_BW, rows{k}); % rows = [row_1,...row_5]
stats_BW_R{k} = regionprops(R,'Centroid');
end
4 commentaires
Plus de réponses (1)
Fangjun Jiang
le 4 Juin 2020
Don't create variables R1, R2, ... R5. Instead, create array R, use R(1), R(2), ... R(5). Then you can run your for-loop.
0 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!