See figure 2.9.
The functions available in the convolution package can be split into five main groups.
First, are the convolution functions. The most useful function is
im_conv()
which will convolve any non-complex type with an
INTMASK
matrix. The output image will have the same size, type, and
number of bands as the input image. Of the other im_conv()
functions,
functions whose name ends in _raw
do not add a black border around the
output image, functions ending in f
use a DOUBLEMASK
matrix
and write float (or double) output, and functions containing sep
are for seperable convolutions. im_compass()
, im_lindetect()
and im_gradient()
convolve with rotating masks. im_embed()
is used by the convolution functions to add the border to the output.
Next, are the build functions. im_gauss_*mask()
and its ilk
generate gaussian masks, im_log_*mask()
generate logs of Laplacians.
im_addgnoise()
and im_gaussnoise()
create or add gaussian
noise to an image.
Two functions do correlation: im_fastcor()
does a quick and dirty
correlation, im_spcor()
calculates true spatial correlation, and is
rather slow.
Some functions are provided for analysing images: im_zerox()
counts
zero-crossing points in an image, im_mpercent()
finds a threshold
that will isolate a percentage of points in an image.
Finally, im_resize_linear()
and im_shrink()
do as you would
expect.