Remove artefact when dilating Image

조회 수: 2 (최근 30일)
Jason
Jason 2017년 1월 10일
댓글: Jason 2017년 1월 16일
Hi. I have a hexagonal grid that I have managed to locate the location of the maximum in each feature (with the kind help of Walter & I.A)
I next want to use these locations to then get the weighted centroid to be more accurate.(i.e. use them as seeds)
But to prepare for RegionProps, I create binary image that I dilate slightly:
se = strel('disk',2);
binary=imdilate(binary,se,'same');
This works except for a little artifact shown by the redline.
I really need at least 1 pixel perimeter round the seeding locations to ensure I can perform a weighted centroid calc, but the artefact treats the 2 joined objects as one and its centroid is incorrectly position in the middle of the two blobs.
Is there away where I can break up the joined blobs but still retain enough pixels to allow centroid calc.
Thanks for any help Jason

답변 (2개)

Changoleon
Changoleon 2017년 1월 13일
편집: Changoleon 2017년 1월 13일
So what's the problem? that two objects are connected to each other? if yes, use the function imopen.
What it will do is it will erode the image first with a certain limit (you chose this limit) and then will dilate it again. The tiny part which is making two objects as one, will be removed
  댓글 수: 1
Jason
Jason 2017년 1월 16일
Hi, Im not able to use any SE in imopen to get this to work. Are there any other suggestions please.
Thanks

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


Image Analyst
Image Analyst 2017년 1월 16일
  댓글 수: 1
Jason
Jason 2017년 1월 16일
Thanks. Will take a look

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

Community Treasure Hunt

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

Start Hunting!

Translated by