Count the endpoints in a image

How to count the number of endpoints as marked in this image.
I tried with bwmorph(endpoints). But my output is like this.

5 comentarios

Rik
Rik el 14 de Oct. de 2020
What exact code steps did you use?
Malini
Malini el 14 de Oct. de 2020
I= imread('Endpoints.png');
B= I(:,:,3);
E= bwmorph(B,'Endpoints');
figure,imshow(E);
Rik
Rik el 14 de Oct. de 2020
Editada: Rik el 14 de Oct. de 2020
This time I edited your post for you. Next time, please use the tools explained on this page to make your question more readable.
If you read the documentation you see that it is meant to be run on a skeletonized image, so you need to do that first.
I= imread('Endpoints.png');
B= I(:,:,3)>128;
S= bwmorph(B,'skel');
E= bwmorph(S,'endpoints');
figure,imshow(E);
Malini
Malini el 14 de Oct. de 2020
Sure. Will follow the documentation.
Thank you so much. I got it after the skeletonization for that image.
And I followed the same for this image which I didnt get because the skeletonized image is not continuous. How to fix that. Attached the code I used for this image.
I = imread('Onion.png');
mask = I(:,:,1)<I(:,:,2) & I(:,:,3)<I(:,:,2);
skel = bwmorph(mask,'skel',Inf);
figure,imshow(skel);
E = bwmorph(skel, 'endpoints');
Rik
Rik el 14 de Oct. de 2020
You could try imclose to close the gaps and smoothen your mask. Another possibility is to modify your initial mask creation.
Side note: if you want help with your specific images you will have to attach the originals.

Iniciar sesión para comentar.

Respuestas (0)

Etiquetas

Preguntada:

el 14 de Oct. de 2020

Comentada:

Rik
el 14 de Oct. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by