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)
image |
magick image object returned by |
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
|
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 |
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 |
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.
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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.