Making a binary skeletonization less noisy - image processing

1 回表示 (過去 30 日間)
Nad
Nad 2012 年 12 月 7 日
Hi - I am trying to skeletonize a binary mask like this https://dl.dropbox.com/u/54307333/4ANDmask.bmp. But I end up with too many small branches coming off of the long segments https://dl.dropbox.com/u/54307333/4Maskthin.bmp. I want to get rid of small branches (<20 pixels) that are only connected on one end. Ones that are connected on both ends are valuable to me.
I am using bwmorph to calculate the endpoints. And using that I can exclude branches that are below a certain size, but like I said, I want to keep the ones that are connected on both ends.
I probably have to do some kind of if statement, checking the connectivity of each endpoint...? Not sure. Any ideas?
Thanks,
Nad

採用された回答

Image Analyst
Image Analyst 2012 年 12 月 7 日
Try blurring the image before you skeletonize it.
  4 件のコメント
Nad
Nad 2012 年 12 月 8 日
編集済み: Nad 2012 年 12 月 8 日
tried gaussian filter (see help for fspecial if anyone is interested) with a decent sized window (15x15 for a 250x250 roi) and that got rid of the small off shooting branches. thanks!
also tried bwmorph(image,'spur',numofpixels) to get rid of branches of a certain size and that seemed to help as well.
Image Analyst
Image Analyst 2012 年 12 月 10 日
Just try a simple box filter on the grayscale image.
out = conv2(in, ones(21), 'same');
Then do your morphology.

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by