how to better improve my segmentation at the edges to get an image similar to the lesion

7 visualizzazioni (ultimi 30 giorni)
As the title says and can be seen in the attached images,i'd like to improve the edges in the segmented pic and that can be done by getting a smoother more accurate mask.

Risposta accettata

Image Analyst
Image Analyst il 22 Apr 2017
"Smoother, more accurate" is an oxymoron don't you think? What's wrong with it the way it is?
There are several ways to smooth it, if you absolutely must. One way is to blur the binary mask and then threshold it. This will produce a smoother mask.
The other way is to smooth the outline coordinates with a spline. I'm attaching a demo for that method.
  2 Commenti
Elias Unk
Elias Unk il 22 Apr 2017
I do want my mask closer to the lesion area than the one i got with lots of ramifications on the edges,i just checked your code and thanks for attaching it but i had in mind some kind of morphological operator based way which would be simpler if you could suggest any
Image Analyst
Image Analyst il 22 Apr 2017
A morphological operator like imclose() can be used but it won't give you as smooth an edge as blurring with conv2() or imfilter(). Morphological operators tend to have noticeable artifacts. Just try imclose() and you'll see.
se = strel('disk', 9, 0);
mask = imclose(mask, se);
versus
windowSize = 5;
kernel = ones(windowSize)/windowSize^2;
mask = conv2(double(mask), kernel, 'same');
mask = mask > 0.5;
The second code snippet will give you smoother edges.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by