fill mask after edge detection

5 views (last 30 days)
Lea
Lea on 24 Jun 2014
Answered: Image Analyst on 24 Jun 2014
So I have these radar images of dunes, and I'm trying to get a mask of the dunes, where the dunes(darker in the image) would be black and everything else white. So far, I've been doing this with a threshold algorithm, but this is not that great because it misses a lot of the darker dunes. An example of an image I'm using is here:
So now I'm trying to use edge detection to get a mask. The Canny edge detection algorithm gives great outlines, but my problem is how to fill these outlines. imclose then imfill doesn't work because the larger holes will be filled out and my figure just end up all white. I've tried bwareaopen to white out the inside of the holes, but most of the holes are connected so it doesn't work. I'm out of ideas, so any help would be welcome!

Answers (1)

Image Analyst
Image Analyst on 24 Jun 2014
Would you be interested in trying anisotropic diffusion? It's an algorithm used on ridge-like structures like fingerprints. I'm attaching a demo (below in blue). Otherwise, look into fingerprint methods here in VisionBib

Community Treasure Hunt

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

Start Hunting!