How to make a 2-d binary shape a little more round?

1 回表示 (過去 30 日間)
Eli
Eli 2011 年 6 月 1 日
Hi All,
I'm new to image processing, and hope you can help: I managed to generate a binary mask indicating the location of roundish shapes in an image. The problem is that sometimes the mask is not very round and I want make it a little rounder, i.e., smooth the irregularities a bit, but not loose the original shape. Can anyone suggest a way to do that?
Thanks, Rachel

採用された回答

Jan
Jan 2011 年 6 月 1 日
You can try IMDILATE(IMERODE(Image)):
img = imread('text.png');
radius = 1;
imga = imdilate(img, strel('disk', radius));
imgb = imerode(img, strel('disk', radius));
A bigger radius removes more details.
  2 件のコメント
Sean de Wolski
Sean de Wolski 2011 年 6 月 1 日
The above is the same as a morphological closing, imclose.
Eli
Eli 2011 年 6 月 2 日
thanks, I'll try that!

サインインしてコメントする。

その他の回答 (1 件)

Wolfgang Schwanghart
Wolfgang Schwanghart 2011 年 6 月 1 日
You could also use a median filter to remove small objects and irregular boundaries. In a BW image, the median image would act like a majority filter.

Community Treasure Hunt

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

Start Hunting!

Translated by