
Hi, I'm struggling with a problem that I'm sure has been solved before - and probably by some users of this mailing list! I have a segmentation image and I want to extract the edges of the segments and show them on the original image. This sounds nice and easy, so I had a go using the matplotlib contour function and got the following: <https://lh3.googleusercontent.com/-S2zawy2Wsq0/Vi3i9tFMwbI/AAAAAAADLj0/2Gt22...>
From my perspective, there are two issues with this: one is that the two segments (which are separate by pixels with the value zero) are actually joined, and the other is that the segment outlines don't follow the pixel boundaries: they are offset by around half a pixel, and 'cut the corners'. What I'd really like to produce is the following:
<https://lh3.googleusercontent.com/-UUwZAEhue8I/Vi3jQewKW-I/AAAAAAADLj8/gh66G...> (if you look carefully you can see the blue outline around the edge of the segment) Does anyone know how to do this easily (and, ideally, reasonably quickly) in Python? From my investigations it seems that the contour function won't do what I want - but I can't find anything else that will do this, and I'd rather not implement something from scratch. Any thoughts? Robin