sharpening or cleaning this binary mask

6 次查看(过去 30 天)
Hi, Image Analyst.,Could you please help me in sharpening or cleaning this binary mask please which is attached here. I have tried alot and got this refinement only. please suggest something.
  2 个评论
jonas
jonas 2020-7-31
I am not image Analyst, but I'm guessing you will get a better answer if you describe your desired image. Personally I don't see a lot of noise in your image. Do you want smoother edges? Do you want to fill the small black areas inside the main blob?
rsnandi
rsnandi 2020-8-1
Thanks Jonas , yes I want to smoother edges and fill the black area inside the main blob. Morphological operations not doing good. They deform the main blobs. Please suggest something. Thanks

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2020-8-1
You could blur the image and threshold it.
windowWidth = 7; % Whatever - bigger gives more smoothing, experiment with different values.
kernel = ones(windowWidth, windowWidth) / windowWidth^2;
smoothBW = conv(single(bw), kernel, 'same') > 0.5;
Or you could use a savitzky Golay filter to smooth the boundaries and then use poly2mask on the smoothed boundaries. Demo attached.
Or you could use activecontour(). Demo attached.

Community Treasure Hunt

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

Start Hunting!

Translated by