ImagePro>Re: skeletonisation and object definition


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ImagePro>Re: skeletonisation and object definition



Some excellent questions here; I hope I can help out a bit.

The various branches on your washer represent small deviations along the
edges of your washer. The thinning filter will represent a single pixel
'bump' along the edge of an object with a branch running to that bump as a
skeleton support.

To minimize this you can perform an opening or a closing on the binary
object image prior to thinning. This will greatly smooth the outline and
remove a lot of the branches.

Once you have thinned your object (assuming that it is a closed loop of some
sort) you can prune the skeleton to remove the little branches. Note that
this does not work for linear objects! If your thinned object is a line,
rather than a loop, pruning may remove it entirely. Optionally, you can use
the 'reduce' filter, which is a pruning filter that leaves single point
objects.


To segment on edges rather than on intensities:

- Create a secondary image that is an edge filtered version of your
original. For example, duplicate your image and perform a Sobel filter on
it.
- Segment on the edges.
- Save the outline to a temporary file.
- Load the outline on your original image to apply edge filtered
thresholding to the original.

I do this kind of segmentation all the time based on derived images: edges
(Sobel, Laplacian), textures (variance, median), etc. It's a very useful
generalized technique.

-- Kevin Ryan
kevin@mediacy.com
Sr. Project Manager


> -----Original Message-----
> From: Image-Pro Plus Users Email List
> [mailto:imagepro-users@lists.mediacy.com]On Behalf Of Glenn Weigel
> Sent: Thursday, November 08, 2001 7:17 PM
> To: Image-Pro Plus Users Email List
> Subject: ImagePro>Re: skeletonisation and object definition
>
> Hello,
>
>
> I have a couple of questions that I hope someone might be able to help me
> with.
>
> I am trying to skeletonise a binary image, and would like to end up with a
> continuous single-pixel wide line representing the image skeleton. For
> example, starting with the binary image of a steel washer, I'd like to end
> up with a single-pixel wide line in the shape of an O. When I use the
> erode, thin and prune filters I seem to end up with non-continuous lines
> which often contain several branch points. Is there a way around
> this short
> of writing a custom skeletonisation routine?
>
> Also, I'd like to have Image-Pro select objects based on
> boundaries defined
> by an edge-detection routine (simple thresholding isn't a viable way to
> define objects boundaries in our application). In the washer example, if I
> have an image of the washer edges can I have Image-Pro select the
> washer as
> an object for measurement based on those edges?
>
>
> Many thanks for your help,
>
> Glenn Weigel
>
>
> Pulp and Paper Research Institute of Canada
> 3800 Wesbrook Mall
> Vancouver, British Columbia
> V6S 2L9
>
> (604) 222-3200



***********************************************************
Need an Image-Pro macro or driver? Find it at http://www.Solutions-Zone.com
Got an Image-Pro macro or driver? Add it to http://www.Solutions-Zone.com
***********************************************************

This message is sent to you because you are subscribed to <imagepro-users@lists.mediacy.com>.
To unsubscribe, email to: <imagepro-users-off@lists.mediacy.com>
To switch to the DIGEST mode, email to <imagepro-users-digest@lists.mediacy.com>
To switch to the INDEX mode, email to <imagepro-users-index@lists.mediacy.com>
Send administrative queries to  <imagepro-users-request@lists.mediacy.com>
To subscribe or unsubscribe visit http://www.solutions-zone.com/ipednld/subscriber.asp



Search this Archive