| 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, ...) rgbImage(r, g, b) channelMix(r, g, b)
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. |
r,g,b |
Objects of class Image. |
Conversion modes:
rgbinteger, i.e. an integer array or a
TrueColor integer-based image. graynumeric. Synonym: grey red, green, blue numeric-based. As synonyms
single letters r, g, b can be used correspondingly.asred, asgreen, asblueinteger-based. As synonyms 2r, 2g, 2b can
be used. x11character, 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.
channelMix uses the following formula to calculate the mix:
mix = sqrt(r^2+g^+b^2). Any of the values can be missing.
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.
rgbImage generated a TrueColor image using r, g and b
as values for red, green and blue channels correspondingly.
channelMix generates a grayscale image as if the image was converted from
a TrueColor one that was composed using r, g and b.
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'