Skip to contents

resize returns a resized version of an Image.

Usage

resize(
  image,
  height = NULL,
  width = NULL,
  fx = NULL,
  fy = NULL,
  interpolation = "linear",
  target = "new"
)

Arguments

image

An Image object.

height

A positive integer representing the new height in pixels of the image (default: NULL).

width

A positive integer representing the new width in pixels of the image (default: NULL).

fx

A positive numeric representing the ratio by which the width of the image must be resized (default: NULL). Ignored if width is set.

fy

A positive numeric representing the ratio by which the height of the image must be resized (default: NULL). Ignored if height is set.

interpolation

A character string representing the type of interpolation to use during resizing (default: "linear"). See notes for all accepted interpolation methods.

target

The location where the results should be stored. It can take 3 values:

  • "new":a new Image object is created and the results are stored inside (the default).

  • An Image object:the results are stored in another existing Image object. This is fast but will replace the content of target. Note that target must have the same bit depth and number of channels as image but that its dimensions must match that of the resized image, otherwise an error is thrown.

Value

If target="new", the function returns an Image

object. If target is an Image object, the function returns nothing and modifies that Image object in place.

Note

The following interpolation methods are supported:

  • "nearest": nearest neighbor interpolation.

  • "linear": bilinear interpolation.

  • "cubic": bicubic interpolation.

  • "area": resampling using pixel area relation.

  • "Lanczos": Lanczos interpolation over 8x8 neighborhood.

  • "exact": bit exact bilinear interpolation.

See also

Author

Simon Garnier, garnier@njit.edu

Examples

balloon <- image(system.file("sample_img/balloon1.png", package = "Rvision"))
balloon_resized <- resize(balloon, fx = 0.2, fy = 0.5)