warpAffine
applies an affine transformation to an image.
Usage
warpAffine(
image,
warp_matrix,
interp_mode = "linear",
inverse_map = TRUE,
border_type = "constant",
border_color = "black",
target = "new",
output_size = dim(image)[1:2]
)
Arguments
- image
An
Image
object.- warp_matrix
A 2x3 numeric matrix.
- interp_mode
A character string indicating the interpolation method to be used. It can be any of the following:
- "nearest":
nearest neighbor interpolation.
- "linear" (the default):
bilinear interpolation.
- "cubic":
bicubic interpolation.
- "area":
resampling using pixel area relation. It may be a preferred method for image decimation, as it gives moiré-free results, but when the image is zoomed, it is similar to the nearest neighbor method.
- "lanczos4":
Lanczos interpolation over 8x8 neighborhood.
- "linear_exact":
bit exact bilinear interpolation.
- inverse_map
A logical. TRUE if
warp_matrix
represents an inverse transformation. If FALSE,warp_matrix
will be inverted.- border_type
A character string indicating the extrapolation method to use when filling empty pixels created during the transformation. It can be any of the following:
- "constant" (the default):
iiiiii|abcdefgh|iiiiii
withi
specified byborder_value
.- "replicate":
aaaaaa|abcdefgh|hhhhhh
.- "reflect":
fedcba|abcdefgh|hgfedc
.- "wrap":
cdefgh|abcdefgh|abcdef
.- "reflect_101":
gfedcb|abcdefgh|gfedcb
.- "transparent":
uvwxyz|abcdefgh|ijklmn
.
- border_color
A value or vector of any kind of R color specification compatible with
col2bgr
representing the color of the border (default: "black").- target
The location where the results should be stored. It can take 3 values:
- "new":
a new
Image
object is created and the results are stored inside (the default).- "self":
the results are stored back into
image
(faster but destructive).- An
Image
object: the results are stored in another existing
Image
object. This is fast and will not replace the content ofimage
but will replace that oftarget
. Note thattarget
must have the same bit depth and number of channels asimage
but can have different dimensions.
- output_size
If
target="new"
, a 2-elements vector indicating the number of rows and columns of the output image (defaults to the dimensions ofimage
).
Value
If target="new"
, the function returns an Image
object. If target="self"
, the function returns nothing and modifies
image
in place. If target
is an Image
object,
the function returns nothing and modifies that Image
object in
place.
Author
Simon Garnier, garnier@njit.edu
Examples
file1 <- system.file("sample_img/balloon1.png", package = "Rvision")
file2 <- system.file("sample_img/balloon2.png", package = "Rvision")
balloon1 <- changeColorSpace(image(file1), "GRAY")
balloon2 <- changeColorSpace(image(file2), "GRAY")
ecc <- findTransformORB(balloon1, balloon2)
balloon2_transformed <- warpAffine(balloon2, ecc)