transform function

Image Transform

Image Transform

Basic transformations like rotate, resize, crop and flip. The geometry syntax is used to specify sizes and areas.

image_trim(image, fuzz = 0) image_chop(image, geometry) image_rotate(image, degrees) image_resize(image, geometry = NULL, filter = NULL) image_scale(image, geometry = NULL) image_sample(image, geometry = NULL) image_crop(image, geometry = NULL, gravity = NULL, repage = TRUE) image_extent(image, geometry, gravity = "center", color = "none") image_flip(image) image_flop(image) image_deskew(image, threshold = 40) image_deskew_angle(image, threshold = 40) image_page(image, pagesize = NULL, density = NULL) image_repage(image) image_orient(image, orientation = NULL) image_shear(image, geometry = "10x10", color = "none") image_distort(image, distortion = "perspective", coordinates, bestfit = FALSE)

Arguments

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

  • fuzz: relative color distance (value between 0 and 100) to be considered similar in the filling algorithm

  • geometry: a geometry string specifying area (for cropping) or size (for resizing).

  • degrees: value between 0 and 360 for how many degrees to rotate

  • filter: string with filter

    type from: filter_types

  • gravity: string with gravity

    value from gravity_types .

  • repage: resize the canvas to the cropped area

  • color: a valid color string such as "navyblue" or "#000080". Use "none" for transparency.

  • threshold: straightens an image. A threshold of 40 works for most images.

  • pagesize: geometry string with preferred size and location of an image canvas

  • density: geometry string with vertical and horizontal resolution in pixels of the image. Specifies an image density when decoding a Postscript or PDF.

  • orientation: string to set image orientation one of the orientation_types . If NULL it applies auto-orientation which tries to infer the correct orientation from the Exif data.

  • distortion: string to set image orientation one of the distort_types .

  • coordinates: numeric vector (typically of length 12) with distortion coordinates

  • bestfit: if set to TRUE the size of the output image can be different from input

Details

For details see Magick++ STL

documentation. Short descriptions:

  • image_trim removes edges that are the background color from the image.
  • image_chop removes vertical or horizontal subregion of image.
  • image_crop cuts out a subregion of original image
  • image_rotate rotates and increases size of canvas to fit rotated image.
  • image_deskew auto rotate to correct skewed images
  • image_resize resizes using custom filterType
  • image_scale and image_sample resize using simple ratio and pixel sampling algorithm.
  • image_flip and image_flop invert image vertically and horizontally

The most powerful resize function is image_resize which allows for setting a custom resize filter. Output of image_scale is similar to image_resize(img, filter = "point").

For resize operations it holds that if no geometry is specified, all frames are rescaled to match the top frame.

Examples

logo <- image_read("logo:") logo <- image_scale(logo, "400") image_trim(logo) image_chop(logo, "100x20") image_rotate(logo, 45) # Small image rose <- image_convert(image_read("rose:"), "png") # Resize to 400 width or height: image_resize(rose, "400x") image_resize(rose, "x400") # Resize keeping ratio image_resize(rose, "400x400") # Resize, force size losing ratio image_resize(rose, "400x400!") # Different filters image_resize(rose, "400x", filter = "Triangle") image_resize(rose, "400x", filter = "Point") # simple pixel resize image_scale(rose, "400x") image_sample(rose, "400x") image_crop(logo, "400x400+200+200") image_extent(rose, '200x200', color = 'pink') image_flip(logo) image_flop(logo) skewed <- image_rotate(logo, 5) deskewed <- image_deskew(skewed) attr(deskewed, 'angle') if(magick_config()$version > "6.8.6") image_orient(logo) image_shear(logo, "10x10") building <- demo_image('building.jpg') image_distort(building, 'perspective', c(7,40,4,30,4,124,4,123,85,122,100,123,85,2,100,30))

See Also

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

  • Maintainer: Jeroen Ooms
  • License: MIT + file LICENSE
  • Last published: 2025-03-23