how to save double loop output in matrix form.
Afficher commentaires plus anciens
i am running double loop and i want to save its output in a matrix and plot each points of the matrix on image.
[rows, colm]=size(thin_image);
bifurcation=0;
ridge=0;
for i=2:rows-1
for j=2:colm-1
sub_matrix=(thin_image(i-1:i+1,j-1:j+1));
if sub_matrix(2,2)==1
sub_matrix=sum(sub_matrix(:))-1;
if sub_matrix==1
P=fprintf('it is a ridge termination');
i
j
ridge=ridge+1;
else if sub_matrix==3
Q=fprintf('it is a bifurcation');
i
j
bifurcation=bifurcation+1;
end
end
end
end
end
Réponses (1)
Andrei Bobrov
le 24 Juil 2019
Modifié(e) : Andrei Bobrov
le 24 Juil 2019
sm = conv2(thin_image,ones(3),'valid')
imat = thin_image(2:end-1,2:end-1) == 1;
ridge = sum(sm(:) == 1 & imat(:));
bifurcation = sum(sm(:) == 3 & imat(:));
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!