channel {EBImage} | R Documentation |
channel
allows to convert colors of images and color values given in
vectors, arrays or matrices from one mode to another. The supported source and
target modes are TrueColor (data of type: integer
) and
Grayscale (numeric
) and X11 strings (character
).
The mode of the argument is determined automatically from its type.
## S4 methods for signatures 'x=Image,mode=character' ## and 'x=ANY,mode=character' channel(x, mode, ...)
x |
Either an object of Image or a vector of
numeric , integer or character . |
mode |
A character value specifying the target mode for conversion. See 'Conversion Modes' below. |
... |
Reserved. |
Conversion modes:
rgb
integer
, i.e. an integer array or a
TrueColor
integer-based image. gray
numeric
. Synonym: grey
red, green, blue
numeric
-based. As synonyms
single letters r, g, b
can be used correspondingly.asred, asgreen, asblue
integer
-based. As synonyms 2r, 2g, 2b
can
be used. x11
character
, which elements represent
the input colors as X11 strings, i.e. RGB hex codes starting with a sharp
sign.
Conversion modes are case insensitive!
If the input is a character
vector, its values may contain color names
instead of color hex codes, like red, purple, white
etc. However,
the result of the X11
mode will always contain hex codes.
For an argument of Image
the function returns a new object
of Image
in all modes except 'X11'
. In case of
'X11'
it returns a character
vector of the same length as the image.
For vectors the function returns a vector
of the same size in the target
mode.
Oleg Sklyar, osklyar@ebi.ac.uk
cl <- channel("pink", "rgb") r <- channel( channel(cl, "red"), "asred") g <- channel( channel("pink", "green"), "asgreen") b <- channel( channel(cl, "blue"), "asblue") rgb <- r + g + b print( rgb == cl ) clg <- channel(cl, "gray") print( channel(cl, "x11")) ## further example in 'paintObjects'