How to smooth the rough edge on 2D image?

4 ビュー (過去 30 日間)
tabw
tabw 2014 年 8 月 22 日
編集済み: tabw 2014 年 8 月 26 日
I tried erode followed by a dilate.
The effect is not good as I want it to be.
I want the edge without any curve. It better can remove the curve and use straight line to represent those curve
I remember that there are some filter for smoothing the edge,right?
  2 件のコメント
Michael Haderlein
Michael Haderlein 2014 年 8 月 22 日
Did you check imfilter and fspecial?
tabw
tabw 2014 年 8 月 25 日
No. thanks for your advice

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

回答 (1 件)

Image Analyst
Image Analyst 2014 年 8 月 22 日
You can try activecontour(). You can set parameters to control how smooth the boundary is. See attached demo.
  4 件のコメント
Image Analyst
Image Analyst 2014 年 8 月 25 日
It's the same function. You forgot to give the error message. Please copy and paste ALL THE RED TEXT. Don't snip or paraphrase like you did. Did my demo run? That should run with no errors whatsoever.
tabw
tabw 2014 年 8 月 26 日
I guess Yes. If I directly run your run, it popped up a interface-liked stuff. it showed the sample image and its histogram. and came up
??? Undefined function or method 'bwconvhull' for input arguments of type
'char'.
Error in ==> Untitled at 59
mask = bwconvhull(mask, 'Union');
So, i tried to follow the example inside the link. But it said too many input arguments

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

Community Treasure Hunt

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

Start Hunting!

Translated by