Pixel-boundary contours for segmentation visualisation

Robin Wilson r.t.wilson.bak at googlemail.com
Mon Oct 26 04:25:48 EDT 2015


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/2Gt222-V4EE/s1600/ExampleContour.png>

>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/gh66GU9-2yY/s1600/ExampleOutline.png>

(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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-image/attachments/20151026/466d1ae6/attachment.html>


More information about the scikit-image mailing list