Borrar filtros
Borrar filtros

How to find number of holes in each connected component?

8 visualizaciones (últimos 30 días)
Ayesha ch
Ayesha ch el 10 de Mayo de 2016
Comentada: Image Analyst el 22 de Mayo de 2016
hi i'm new in matlab. I want to find the number of holes in each connected component prior to hole filling. I know the euler number that returns the number of holes in an image as a whole, but i want to find the number of holes in each connected component individually. any help would be appreciated.

Respuesta aceptada

Image Analyst
Image Analyst el 10 de Mayo de 2016
No it doesn't do the whole image. It does it on a blob by blob basis. Just check out regionprops(). The Euler number is just like any other blob-specific measurement you can ask it to make.
  2 comentarios
Ayesha ch
Ayesha ch el 22 de Mayo de 2016
Thankyou so much for the help.I'm using:
n=bwconncomp(S);
h=regionprops(n,'Eulernumber');
Here 'h.EulerNumber' returns 1, -1 and 0 value. I was expecting the actual number of holes, like 10,12 etc. Could you please explain what is meant by 1 and -1? Thankyou.
Image Analyst
Image Analyst el 22 de Mayo de 2016
"Returns a scalar that specifies the number of objects in the region minus the number of holes in those objects."
Normally the number of objects in the region is 1. So a solid object would have an Euler number of 1. An object with 1 hole would have an Euler number of 0. An object with 2 holes would have an Euler number of -1.
I see only one object in your image with more than 1 or 2 holes, are you expecting those numbers for more than one or two blobs?

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by