Convolution of Pixel Images
Computes the convolution of two pixel images.
convolve.im(X, Y=X, ..., reflectX=FALSE, reflectY=FALSE)
X |
A pixel image (object of class |
Y |
Optional. Another pixel image. |
... |
Ignored. |
reflectX,reflectY |
Logical values specifying whether the images |
The convolution of two pixel images X and Y in the plane is the function C(v) defined for each vector v as
C(v) = integral of X(u) * Y(v-u) du
where the integral is over all spatial locations u, and where X(u) and Y(u) denote the pixel values of X and Y respectively at location u.
This command computes a discretised approximation to
the convolution, using the Fast Fourier Transform.
The return value is
another pixel image (object of class "im"
) whose greyscale values
are values of the convolution.
If reflectX = TRUE
then the pixel image X
is reflected
in the origin (see reflect
)
before the convolution is computed, so that
convolve.im(X,Y,reflectX=TRUE)
is mathematically
equivalent to convolve.im(reflect(X), Y)
. (These two commands
are not exactly equivalent, because the reflection is performed
in the Fourier domain in the first command, and reflection is
performed in the spatial domain in the second command).
Similarly if reflectY = TRUE
then the pixel image Y
is reflected
in the origin before the convolution is computed, so that
convolve.im(X,Y,reflectY=TRUE)
is mathematically
equivalent to convolve.im(X, reflect(Y))
.
A pixel image (an object of class "im"
) representing the
convolution of X
and Y
.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au
and Rolf Turner r.turner@auckland.ac.nz
X <- as.im(letterR) Y <- as.im(square(1)) plot(convolve.im(X, Y)) plot(convolve.im(X, Y, reflectX=TRUE)) plot(convolve.im(X))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.