In Place Logical Operators for Images
Arguments
- e1, e2
Either 2
Imageobjects or 1Imageobject and 1 numeric value/vector. If a vector and its length is less than the number of channels of the image, then it is recycled to match it.- image
An
Imageobject.- target
The location where the results should be stored. It can take 3 values:
- "new":
a new
Imageobject is created and the results are stored inside (the default).- "self":
the results are stored back into
image(faster but destructive).- An
Imageobject: the results are stored in another existing
Imageobject. This is fast and will not replace the content ofimagebut will replace that oftarget. Note that iftargetdoes not have the same dimensions, number of channels, and bit depth asimage, an error may be thrown.
Value
The operators do not return anything. They modify the image in place (destructive operation). If 2 images are passed to the operators, only the one of the left side of the operator is modified; the other is left untouched.
If target="new", not returns an Image object. If
target="self", not returns nothing and modifies image
in place. If target is an Image object, not
returns nothing and modifies that Image object in place.
Note
R does not support the creation of custom unary operators. This is why
there is no !-like operator but the not function instead.
Author
Simon Garnier, garnier@njit.edu
Examples
balloon1 <- image(system.file("sample_img/balloon1.png", package = "Rvision"))
balloon2 <- image(system.file("sample_img/balloon2.png", package = "Rvision"))
balloon1 %i|% balloon2
#> NULL
not(balloon2)
#> Class: image.
#> Dimensions: 640x360.
#> Type: BGR, 3-channel, 8U.
#> GPU: FALSE.