View source: R/item-transforms-random-geometry.R
| item_transform_random_perspective | R Documentation |
Applies a random perspective transformation to the image inside a dataset
item with a given probability. The degree of distortion is controlled by
distortion_scale. When a transform occurs, the same perspective
mapping is applied to bounding boxes and masks so that the targets stay
aligned with the image.
item_transform_random_perspective(
x,
distortion_scale = 0.5,
p = 0.5,
interpolation = 2,
fill = 0
)
x |
A dataset item, typically an |
distortion_scale |
(numeric): Argument to control the degree of
distortion and ranges from 0 to 1. Default is |
p |
(numeric): Probability of the image being transformed. Default
is |
interpolation |
(integer, optional): Desired interpolation. An integer
|
fill |
(numeric vector or numeric): Pixel fill value for constant fill.
Default is |
The transformation is drawn again for every item, so that a dataset wrapped with this transform yields a different perspective on each access.
A dataset item of the same class. With probability p, the
image and targets are perspective transformed; otherwise they are
returned unchanged.
Other item_random_transforms:
item_transform_random_affine(),
item_transform_random_crop(),
item_transform_random_erasing(),
item_transform_random_horizontal_flip(),
item_transform_random_resize_crop(),
item_transform_random_rotation(),
item_transform_random_vertical_flip()
## Not run:
url <- "https://upload.wikimedia.org/wikipedia/commons/b/b6/Felis_catus-cat_on_snow.jpg"
img <- base_loader(url) |> transform_to_tensor()
boxes <- torch_tensor(matrix(c(600, 200, 2880, 1860), ncol = 4), dtype = torch_float32())
before <- list(x = img, y = list(boxes = boxes, labels = "cat"))
class(before) <- c("image_with_bounding_box", "list")
after <- item_transform_random_perspective(before)
before_plot <- draw_bounding_boxes(before, colors = "blue", width = 10)
after_plot <- draw_bounding_boxes(after, colors = "red", width = 10)
tensor_image_browse(before_plot)
tensor_image_browse(after_plot)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.