Making a binary skeletonization less noisy - image processing

5 Ansichten (letzte 30 Tage)
Nad
Nad am 7 Dez. 2012
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

Akzeptierte Antwort

Image Analyst
Image Analyst am 7 Dez. 2012
Try blurring the image before you skeletonize it.
  4 Kommentare
Nad
Nad am 8 Dez. 2012
Bearbeitet: Nad am 8 Dez. 2012
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 am 10 Dez. 2012
Just try a simple box filter on the grayscale image.
out = conv2(in, ones(21), 'same');
Then do your morphology.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by