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

6 次查看(过去 30 天)
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.

采纳的回答

Image Analyst
Image Analyst 2017-4-22
"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 个评论
Elias Unk
Elias Unk 2017-4-22
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 2017-4-22
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by