필터 지우기
필터 지우기

How to find number of holes in each connected component?

조회 수: 8 (최근 30일)
Ayesha ch
Ayesha ch 2016년 5월 10일
댓글: Image Analyst 2016년 5월 22일
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.

채택된 답변

Image Analyst
Image Analyst 2016년 5월 10일
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
Ayesha ch
Ayesha ch 2016년 5월 22일
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 2016년 5월 22일
"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?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by