Better results with Canny/Hough for circular particles

Adam Hughes hughesadam87 at gmail.com
Fri Dec 13 15:25:53 EST 2013


Hi Dan,

Thanks for the quick reply.

I think that I can get better results if I tweak the parameters.  The 
threshold parameter intuitively makes sense, but I'll have to read a bit to 
get familiar with sigma and the algorithm in general.  Thanks for the 
explanation; it really helped.  I will try out the erosion as well.

PS, do you have any feelings towards the applicability of circular hough to 
my image?

On Friday, December 13, 2013 3:03:30 PM UTC-5, Dan Farmer wrote:
>
> Hi Adam, 
>
> This can be the worst part of image processing, but I'm curious how 
> much you played with the parameters to Canny? You probably know this, 
> but canny already tries to close gaps (hysteresis thresholding). What 
> you want to do is try to lower the low_threshold parameter (values 
> above the high threshold value get initially labeled as edges, then it 
> looks for pixels that are connected to edge pixels and whose value is 
> > low_threshold to link the edges). 
>
> An easy/basic way to get rid of small fragments would be to start with 
> morphological erosion. 
>
> -Dan 
>
> On Fri, Dec 13, 2013 at 11:47 AM, Adam Hughes <hughes... at gmail.com<javascript:>> 
> wrote: 
> > Hi, 
> > 
> > I have several images of circular particles (see attached for an 
> example) 
> > and I've been experimenting with automatic routines to find edges. 
> > 
> > I've found that with Canny, I can get really nice edges, but the edges 
> are 
> > not always connected.  Thus, when I do fill-binary, many of my particles 
> are 
> > not painted in due to slight breaks in the border returned by canny.  Is 
> > there an ideal way to fix this, either by connecting "almost" connected 
> > canny edges?  Additionally, what is the best way to filter out small 
> > fragments and/or non-circular edges? 
> > 
> > I've attached an image of the canny outlines; you can see that I 
> obviously 
> > want to get rid some of the regions that aren't associated with any 
> > particles.  PS, the coloring of the outlines are based on the brightness 
> of 
> > the image at that point underneath it, which has been hidden.  (Would be 
> > happy to share the function if anyone wants it). 
> > 
> > Lastly, I tried adapting the circular hough transform example: 
> > 
> > 
> http://scikit-image.org/docs/dev/auto_examples/plot_circular_elliptical_hough_transform.html 
> > 
> > But struggled with setting it up, due to a naive understanding of the 
> > algorithm.  Given that my image has thousands of particles, but I know 
> > roughly the size distribution, would the circular hough transform be 
> useful 
> > to me? 
> > 
> > Thanks 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "scikit-image" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to scikit-image... at googlegroups.com <javascript:>. 
> > For more options, visit https://groups.google.com/groups/opt_out. 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-image/attachments/20131213/fa67cb17/attachment.html>


More information about the scikit-image mailing list