For loop for function values
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
DP
el 4 de Jun. de 2020
Comentada: madhan ravi
el 4 de Jun. de 2020
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 comentario
Stephen23
el 4 de Jun. de 2020
"What am I doing wrong?"
Numbering some variables and then trying to access the variable names dynamically.
Respuesta aceptada
madhan ravi
el 4 de Jun. de 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 comentarios
Más respuestas (1)
Fangjun Jiang
el 4 de Jun. de 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 comentarios
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!