magick (version 2.4.0)

fx: Image FX

Description

Apply a custom an fx expression to the image.

Usage

image_fx(image, expression = "p", channel = NULL)

image_fx_sequence(image, expression = "p")

Arguments

image

magick image object returned by image_read() or image_graph()

expression

string with an fx expression

channel

a value of channel_types() specifying which channel(s) to set

Details

There are two different interfaces. The image_fx function simply applies the same fx to each frame in the input image. The image_fx_sequence function on the other hand treats the entire input vector as a sequence, allowing you to apply an expression with multiple input images. See examples.

See Also

Other image: _index_, analysis, animation, attributes(), color, composite, device, edges, editing, effects(), geometry, morphology, ocr, options(), painting, segmentation, transform(), video

Examples

Run this code
# NOT RUN {
# Show image_fx() expression
img <- image_convert(logo, colorspace = "Gray")
gradient_x <- image_convolve(img, kernel = "Prewitt")
gradient_y <- image_convolve(img, kernel = "Prewitt:90")
gradient <- c(image_fx(gradient_x, expression = "p^2"),
                image_fx(gradient_y, expression = "p^2"))
gradient <- image_flatten(gradient, operator = "Plus")
#gradient <- image_fx(gradient, expression = "sqrt(p)")
gradient

# }
# NOT RUN {
image_fx(img, expression = "pow(p, 0.5)")
image_fx(img, expression = "rand()")
# }
# NOT RUN {
# Use multiple source images
input <- c(logo, image_flop(logo))
image_fx_sequence(input, "(u+v)/2")
# }

Run the code above in your browser using DataCamp Workspace