On Fri, 14 May 2004 09:04:19 -0700, "Brad Smallridge"
<
[email protected]> wrote:
>Still looking for some suggestions.
hi Brad,
yeah, it's the robot vision community you need to talk with.
A few years ago I did a blob analysis module that needed only
one pass over the pixels. It used a kind of runlength
encoding, although in fact you can do the runlength stuff
on-the-fly quite easily. My technique coped correctly with
arbitrary blob topologies, BUT at the expense of building
a fairly complicated tree as the data structure. It was
VERY quick (I got a 30x speedup by recoding someone else's
blob finder, and mine was more general!). The application
was a bit messy - identifying fish on a conveyor belt,
so that the de-heading machine could pick them up by the
correct end. We used a line-scan camera, with conveyor motion
providing the other direction of scan, but the technique
is just as good on a 2-dimensional image.
The basic algorithm is easy to map onto
FPGA because it
simply looks once at each pixel, but the problem is that
it needs a very variable amount of working storage and
FPGAs generally aren't very good at that sort of thing.
It's easy only if you can plan in advance what features
you want to extract - centre of gravity? centre of
gravity of the hull (outermost enclosing blob, including
all its holes and any blobs within those holes)?
centre of gravity of convex hull (quite a bit harder)?
bounding box? It's also VERY helpful if you can
provide a nice clean margin to the picture, so that
there's an unambiguous "background" area extending
to the limits of the useful image. If any blobs
overlap the image edges, you need to work out what
that means and how to handle it.
I'll try to look out the old papers I did on it, although
I think the C code is long gone - it wasn't mine to keep.
You can guess the vintage because it ran on one of the
embedded AMD29K processors (29500?????)...
Nice to know that people are still messing with that
kind of stuff.
--
Jonathan Bromley, Consultant
DOULOS - Developing Design Know-how
VHDL, Verilog, SystemC, Perl, Tcl/Tk, Verification, Project Services
Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, BH24 1AW, UK
Tel: +44 (0)1425 471223 mail:
[email protected]
Fax: +44 (0)1425 471573 Web:
http://www.doulos.com
The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.