Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

There are at least a few possible solutions to your problem:

  • Morphological erosion. It will work as long as your original edges have almost the same thickness on the whole image. If they are thinner in one part, the thinner ones will get lost after erosion, while the thicker may be still too thick. The strong point is that it's easy and fast. In your case, it should work.
  • Skeletonization. Classical algorithm for thinning. It may be probably the best option for you. The problem is that it leaves some "moustaches" along the edges, and if the segmented image is noisy, the result is really bad. A mitigation of the problem is to morphologically open the image (dilate, then erode) after the segmentation.
  • Whatershed or regional max algorithms may give you some results. If you are a student, they would be a good opportunity to learn something new - no result guaranteed, though.
  • Pearling. I've read about some nice algorithms used for segmenting medical images, and they would fit you quite well. But you most probably will have to implement them from scratch - they are not very popular, and as I know, there is no open source implementation. But give google a chance before leaving. If you do it for your thesis, you'll surely impress.
  • Probably much more ways... these are just the first ones that came to my head.