Transforms to normalise and register the image in some standard location proceed without essential
alteration. In the case where we are lucky enough
to get regular boxes we may enclose our objects
in standard rectangles if this looks to be plausible;
much depends on what can be said a priori
about the objects which may be found. If any edge
boundary can be found, then at least the pixel
array can be reduced to a centroid and brought
inside the unit disc in
. The computation
of
the centroid now has to be taken over real rather
than integer values, but that is straightforward
enough. Everything we learnt about moments is
still applicable, except that fA is no longer
a
characteristic function of the set, it is the
function giving the pixel values. We may conveniently
normalise these to lie between (black) and
1 (white). Moment methods are therefore popular
and moderately robust in general.
It is useful to think of mask methods for binary images as an attempt to look at different regions of the image simultaneously, so as to do some parallel (or more accurately concurrent) processing. If
we take some shaped window and look at the image through it, we have the basic idea of mask processing. As a first development of that idea, we can measure what we see in a number of ways: one would be to collect a few central moments. Another would be to count regions, or pixels. Mask methods which measure the intersections with scan lines, or with some other kind of window on the image, can be just as effective with grey scale images as with binary images when they are estimating the total intensity in the field of the mask, but may fail due to incorrect thresholding when used to decide if something occurs or not. So the system of Fig. 2.7 which simply counts intersections is not robust. What can be done is to extend the mask into higher dimensions: instead of regarding a mask as a sort of hole through which one looks at an image, a hole with its own characteristic function, one regards it as a continuous
function defined over a region, and then makes a comparison between the actual function which is the image, and the mask function. There are several different sorts of comparison which can be made. I leave it to the ingenuity of the reader to devise some: I shall return to the issue later in the book.
Mask methods tend to become, for computational convenience, convolutions at selected locations, and tend to be specific to the classes of objects to be classified. Fortunate is the man who can say in advance what kind of sub-images he is going to get after he has done some edge tracing. A basic problem with mask based methods is that it may be difficult to tell when you have something odd in the image which is different from anything your program has ever seen before.
The best way to find out about mask methods is to invent a few and see what they do. The exercises will give you an opportunity to do this. Differentiating images is easy to do and perfectly intelligible after a little thought, and the results on greyscale images can be quite satisfying. See the disk files for some examples.