transform_random_crop: Crop the given image at a random location

View source: R/transforms-generics.R

transform_random_cropR Documentation

Crop the given image at a random location

Description

The image can be a Magick Image or a Tensor, in which case it is expected to have ⁠[..., H, W]⁠ shape, where ... means an arbitrary number of leading dimensions.

Usage

transform_random_crop(
  img,
  size,
  padding = NULL,
  pad_if_needed = FALSE,
  fill = 0,
  padding_mode = "constant"
)

Arguments

img

A magick-image, array or torch_tensor.

size

(integer vector or integer): Desired output size. If size is an integer vector of length 2 like c(h, w), output size will be matched to this. If size is a bare integer, smaller edge of the image will be matched to this number, i.e., if height > width, then image will be rescaled to ⁠(size * height / width, size)⁠.

padding

(integer vector or integer): Padding on each border. If a single integer is provided, this value is used to pad all borders. If an integer vector of length 2 is provided, it gives the padding on left/right and top/bottom respectively. If an integer vector of length 4 is provided, it gives the padding for the left, right, top and bottom borders respectively.

pad_if_needed

(logical): It will pad the image if smaller than the desired size to avoid raising an exception. Since cropping is done after padding, the padding seems to be done at a random offset.

fill

(numeric vector or numeric): Pixel fill value for constant fill. Default is 0. If a numeric vector of length 3, it is used to fill R, G, B channels respectively. This value is only used when the padding_mode is constant. Only integer values are supported for Tensors.

padding_mode

(character): Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant. Mode symmetric is not yet supported for Tensor inputs.

  • constant: pads with a constant value, this value is specified with fill

  • edge: pads with the last value on the edge of the image

  • reflect: pads with reflection of image (without repeating the last value on the edge) padding ⁠[1, 2, 3, 4]⁠ with 2 elements on both sides in reflect mode will result in ⁠[3, 2, 1, 2, 3, 4, 3, 2]⁠

  • symmetric: pads with reflection of image (repeating the last value on the edge) padding ⁠[1, 2, 3, 4]⁠ with 2 elements on both sides in symmetric mode will result in ⁠[2, 1, 1, 2, 3, 4, 4, 3]⁠

See Also

Other random_transforms: transform_color_jitter(), transform_random_affine(), transform_random_erasing(), transform_random_grayscale(), transform_random_horizontal_flip(), transform_random_perspective(), transform_random_resized_crop(), transform_random_rotation(), transform_random_vertical_flip()


torchvision documentation built on Oct. 14, 2026, 1:09 a.m.